From 7a253d14392a0a789e72de649fe10978c9655e61 Mon Sep 17 00:00:00 2001 From: Shiva Nandan Date: Tue, 5 Mar 2024 18:13:01 +0530 Subject: [PATCH 01/17] refactor: start using @rescript/core package --- bsconfig.json | 5 +- package-lock.json | 41118 ++++++++++++++++------------- package.json | 1 + src/CardUtils.res | 59 +- src/Payments/ApplePay.res | 7 +- src/Payments/GPay.res | 8 +- src/Types/ThemeImporter.res | 3 +- src/Utilities/PaymentHelpers.res | 13 +- src/Utilities/Utils.res | 12 +- src/orca-loader/Hyper.res | 2 +- src/orca-loader/OrcaUtils.res | 32 +- 11 files changed, 22344 insertions(+), 18916 deletions(-) diff --git a/bsconfig.json b/bsconfig.json index 2f847781..e314bff3 100644 --- a/bsconfig.json +++ b/bsconfig.json @@ -5,7 +5,7 @@ "version": 4, "mode": "classic" }, - "bsc-flags": ["-bs-super-errors"], + "bsc-flags": ["-bs-super-errors", "-open RescriptCore"], "sources": { "dir": "src", "subdirs": true @@ -21,6 +21,7 @@ "@rescript/react", "bs-fetch", "@ryyppy/rescript-promise", - "rescript-webapi" + "rescript-webapi", + "@rescript/core" ] } diff --git a/package-lock.json b/package-lock.json index 739580e6..032128e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,95 +1,148 @@ { "name": "orca-payment-page", "version": "0.27.2", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@aashutoshrathi/word-wrap": { + "packages": { + "": { + "name": "orca-payment-page", + "version": "0.27.2", + "hasInstallScript": true, + "dependencies": { + "@aws-sdk/client-cloudfront": "^3.414.0", + "@aws-sdk/client-s3": "^3.417.0", + "@kount/kount-web-client-sdk": "^1.1.6", + "@rescript/core": "^0.7.0", + "@rescript/react": "^0.11.0", + "@ryyppy/rescript-promise": "^2.1.0", + "@sentry/react": "^7.64.0", + "@sentry/webpack-plugin": "^2.7.0", + "bs-fetch": "^0.6.2", + "fast-glob": "^3.3.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "recoil": "^0.1.2", + "rescript-webapi": "^0.7.0", + "webpack-merge": "^5.9.0" + }, + "devDependencies": { + "@commitlint/cli": "^17.0.3", + "@commitlint/config-conventional": "^17.0.3", + "@semantic-release/changelog": "^6.0.1", + "@semantic-release/commit-analyzer": "^9.0.2", + "@semantic-release/git": "^10.0.1", + "@semantic-release/npm": "^9.0.1", + "@semantic-release/release-notes-generator": "^10.0.3", + "autoprefixer": "^10.4.8", + "concurrently": "4.1.2", + "copy-webpack-plugin": "^11.0.0", + "css-loader": "^6.7.1", + "cz-conventional-changelog": "^3.3.0", + "eslint": "latest", + "eslint-plugin-react-hooks": "^4.6.0", + "husky": "^8.0.3", + "mini-css-extract-plugin": "^1.3.1", + "postcss": "^8.4.16", + "postcss-loader": "^7.0.1", + "react-scripts": "5.0.1", + "rescript": "^10.1.4", + "semantic-release": "^19.0.2", + "tailwindcss": "^3.1.8", + "terser-webpack-plugin": "^5.3.7", + "webpack": "^5.74.0", + "webpack-bundle-analyzer": "^4.8.0", + "webpack-cli": "^4.1.0", + "webpack-dev-server": "^3.11.3" + } + }, + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "@alloc/quick-lru": { + "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==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" + "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" } }, - "@apideck/better-ajv-errors": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "json-schema": "^0.4.0", "jsonpointer": "^5.0.0", "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" } }, - "@aws-crypto/crc32": { + "node_modules/@aws-crypto/crc32": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", - "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", - "requires": { + "license": "Apache-2.0", + "dependencies": { "@aws-crypto/util": "^3.0.0", "@aws-sdk/types": "^3.222.0", "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } } }, - "@aws-crypto/crc32c": { + "node_modules/@aws-crypto/crc32/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-crypto/crc32c": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-3.0.0.tgz", - "integrity": "sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==", - "requires": { + "license": "Apache-2.0", + "dependencies": { "@aws-crypto/util": "^3.0.0", "@aws-sdk/types": "^3.222.0", "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } } }, - "@aws-crypto/ie11-detection": { + "node_modules/@aws-crypto/crc32c/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-crypto/ie11-detection": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", - "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", - "requires": { - "tslib": "^1.11.1" - }, + "license": "Apache-2.0", "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } + "tslib": "^1.11.1" } }, - "@aws-crypto/sha1-browser": { + "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-crypto/sha1-browser": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-3.0.0.tgz", - "integrity": "sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==", - "requires": { + "license": "Apache-2.0", + "dependencies": { "@aws-crypto/ie11-detection": "^3.0.0", "@aws-crypto/supports-web-crypto": "^3.0.0", "@aws-crypto/util": "^3.0.0", @@ -97,20 +150,16 @@ "@aws-sdk/util-locate-window": "^3.0.0", "@aws-sdk/util-utf8-browser": "^3.0.0", "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } } }, - "@aws-crypto/sha256-browser": { + "node_modules/@aws-crypto/sha1-browser/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-crypto/sha256-browser": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", - "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", - "requires": { + "license": "Apache-2.0", + "dependencies": { "@aws-crypto/ie11-detection": "^3.0.0", "@aws-crypto/sha256-js": "^3.0.0", "@aws-crypto/supports-web-crypto": "^3.0.0", @@ -119,1878 +168,2574 @@ "@aws-sdk/util-locate-window": "^3.0.0", "@aws-sdk/util-utf8-browser": "^3.0.0", "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } } }, - "@aws-crypto/sha256-js": { + "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-crypto/sha256-js": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", - "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", - "requires": { + "license": "Apache-2.0", + "dependencies": { "@aws-crypto/util": "^3.0.0", "@aws-sdk/types": "^3.222.0", "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } } }, - "@aws-crypto/supports-web-crypto": { + "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-crypto/supports-web-crypto": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", - "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", - "requires": { - "tslib": "^1.11.1" - }, + "license": "Apache-2.0", "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } + "tslib": "^1.11.1" } }, - "@aws-crypto/util": { + "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-crypto/util": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", - "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", - "requires": { + "license": "Apache-2.0", + "dependencies": { "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-utf8-browser": "^3.0.0", "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } } }, - "@aws-sdk/client-cloudfront": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudfront/-/client-cloudfront-3.525.0.tgz", - "integrity": "sha512-xsv6edOHoey5aEuwfgWXuuoaOVCJWU6dIl4alvvz3G/moNlztnQhY3qSvzd/I5aw5dy8Ne320Jh5KIhxmZJ48Q==", - "requires": { + "node_modules/@aws-crypto/util/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/@aws-sdk/client-cloudfront": { + "version": "3.441.0", + "license": "Apache-2.0", + "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.525.0", - "@aws-sdk/core": "3.525.0", - "@aws-sdk/credential-provider-node": "3.525.0", - "@aws-sdk/middleware-host-header": "3.523.0", - "@aws-sdk/middleware-logger": "3.523.0", - "@aws-sdk/middleware-recursion-detection": "3.523.0", - "@aws-sdk/middleware-user-agent": "3.525.0", - "@aws-sdk/region-config-resolver": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-endpoints": "3.525.0", - "@aws-sdk/util-user-agent-browser": "3.523.0", - "@aws-sdk/util-user-agent-node": "3.525.0", - "@aws-sdk/xml-builder": "3.523.0", - "@smithy/config-resolver": "^2.1.4", - "@smithy/core": "^1.3.5", - "@smithy/fetch-http-handler": "^2.4.3", - "@smithy/hash-node": "^2.1.3", - "@smithy/invalid-dependency": "^2.1.3", - "@smithy/middleware-content-length": "^2.1.3", - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/middleware-retry": "^2.1.4", - "@smithy/middleware-serde": "^2.1.3", - "@smithy/middleware-stack": "^2.1.3", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/node-http-handler": "^2.4.1", - "@smithy/protocol-http": "^3.2.1", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/url-parser": "^2.1.3", - "@smithy/util-base64": "^2.1.1", - "@smithy/util-body-length-browser": "^2.1.1", - "@smithy/util-body-length-node": "^2.2.1", - "@smithy/util-defaults-mode-browser": "^2.1.4", - "@smithy/util-defaults-mode-node": "^2.2.3", - "@smithy/util-endpoints": "^1.1.4", - "@smithy/util-middleware": "^2.1.3", - "@smithy/util-retry": "^2.1.3", - "@smithy/util-stream": "^2.1.3", - "@smithy/util-utf8": "^2.1.1", - "@smithy/util-waiter": "^2.1.3", + "@aws-sdk/client-sts": "3.441.0", + "@aws-sdk/core": "3.441.0", + "@aws-sdk/credential-provider-node": "3.441.0", + "@aws-sdk/middleware-host-header": "3.433.0", + "@aws-sdk/middleware-logger": "3.433.0", + "@aws-sdk/middleware-recursion-detection": "3.433.0", + "@aws-sdk/middleware-signing": "3.433.0", + "@aws-sdk/middleware-user-agent": "3.438.0", + "@aws-sdk/region-config-resolver": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-endpoints": "3.438.0", + "@aws-sdk/util-user-agent-browser": "3.433.0", + "@aws-sdk/util-user-agent-node": "3.437.0", + "@aws-sdk/xml-builder": "3.310.0", + "@smithy/config-resolver": "^2.0.16", + "@smithy/fetch-http-handler": "^2.2.4", + "@smithy/hash-node": "^2.0.12", + "@smithy/invalid-dependency": "^2.0.12", + "@smithy/middleware-content-length": "^2.0.14", + "@smithy/middleware-endpoint": "^2.1.3", + "@smithy/middleware-retry": "^2.0.18", + "@smithy/middleware-serde": "^2.0.12", + "@smithy/middleware-stack": "^2.0.6", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/node-http-handler": "^2.1.8", + "@smithy/protocol-http": "^3.0.8", + "@smithy/smithy-client": "^2.1.12", + "@smithy/types": "^2.4.0", + "@smithy/url-parser": "^2.0.12", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.16", + "@smithy/util-defaults-mode-node": "^2.0.21", + "@smithy/util-endpoints": "^1.0.2", + "@smithy/util-retry": "^2.0.5", + "@smithy/util-stream": "^2.0.17", + "@smithy/util-utf8": "^2.0.0", + "@smithy/util-waiter": "^2.0.12", "fast-xml-parser": "4.2.5", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/client-s3": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.525.0.tgz", - "integrity": "sha512-hoMGH8G9rezZDiJPsMjsyRVNfVHHa4u6lcZ09SQMmtFHWK0FUcC0DIKR5ripV5qGDbnV54i2JotXlLzAv0aNCQ==", - "requires": { + "node_modules/@aws-sdk/client-s3": { + "version": "3.441.0", + "license": "Apache-2.0", + "dependencies": { "@aws-crypto/sha1-browser": "3.0.0", "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.525.0", - "@aws-sdk/core": "3.525.0", - "@aws-sdk/credential-provider-node": "3.525.0", - "@aws-sdk/middleware-bucket-endpoint": "3.525.0", - "@aws-sdk/middleware-expect-continue": "3.523.0", - "@aws-sdk/middleware-flexible-checksums": "3.523.0", - "@aws-sdk/middleware-host-header": "3.523.0", - "@aws-sdk/middleware-location-constraint": "3.523.0", - "@aws-sdk/middleware-logger": "3.523.0", - "@aws-sdk/middleware-recursion-detection": "3.523.0", - "@aws-sdk/middleware-sdk-s3": "3.525.0", - "@aws-sdk/middleware-signing": "3.523.0", - "@aws-sdk/middleware-ssec": "3.523.0", - "@aws-sdk/middleware-user-agent": "3.525.0", - "@aws-sdk/region-config-resolver": "3.525.0", - "@aws-sdk/signature-v4-multi-region": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-endpoints": "3.525.0", - "@aws-sdk/util-user-agent-browser": "3.523.0", - "@aws-sdk/util-user-agent-node": "3.525.0", - "@aws-sdk/xml-builder": "3.523.0", - "@smithy/config-resolver": "^2.1.4", - "@smithy/core": "^1.3.5", - "@smithy/eventstream-serde-browser": "^2.1.3", - "@smithy/eventstream-serde-config-resolver": "^2.1.3", - "@smithy/eventstream-serde-node": "^2.1.3", - "@smithy/fetch-http-handler": "^2.4.3", - "@smithy/hash-blob-browser": "^2.1.3", - "@smithy/hash-node": "^2.1.3", - "@smithy/hash-stream-node": "^2.1.3", - "@smithy/invalid-dependency": "^2.1.3", - "@smithy/md5-js": "^2.1.3", - "@smithy/middleware-content-length": "^2.1.3", - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/middleware-retry": "^2.1.4", - "@smithy/middleware-serde": "^2.1.3", - "@smithy/middleware-stack": "^2.1.3", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/node-http-handler": "^2.4.1", - "@smithy/protocol-http": "^3.2.1", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/url-parser": "^2.1.3", - "@smithy/util-base64": "^2.1.1", - "@smithy/util-body-length-browser": "^2.1.1", - "@smithy/util-body-length-node": "^2.2.1", - "@smithy/util-defaults-mode-browser": "^2.1.4", - "@smithy/util-defaults-mode-node": "^2.2.3", - "@smithy/util-endpoints": "^1.1.4", - "@smithy/util-retry": "^2.1.3", - "@smithy/util-stream": "^2.1.3", - "@smithy/util-utf8": "^2.1.1", - "@smithy/util-waiter": "^2.1.3", + "@aws-sdk/client-sts": "3.441.0", + "@aws-sdk/core": "3.441.0", + "@aws-sdk/credential-provider-node": "3.441.0", + "@aws-sdk/middleware-bucket-endpoint": "3.433.0", + "@aws-sdk/middleware-expect-continue": "3.433.0", + "@aws-sdk/middleware-flexible-checksums": "3.433.0", + "@aws-sdk/middleware-host-header": "3.433.0", + "@aws-sdk/middleware-location-constraint": "3.433.0", + "@aws-sdk/middleware-logger": "3.433.0", + "@aws-sdk/middleware-recursion-detection": "3.433.0", + "@aws-sdk/middleware-sdk-s3": "3.440.0", + "@aws-sdk/middleware-signing": "3.433.0", + "@aws-sdk/middleware-ssec": "3.433.0", + "@aws-sdk/middleware-user-agent": "3.438.0", + "@aws-sdk/region-config-resolver": "3.433.0", + "@aws-sdk/signature-v4-multi-region": "3.437.0", + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-endpoints": "3.438.0", + "@aws-sdk/util-user-agent-browser": "3.433.0", + "@aws-sdk/util-user-agent-node": "3.437.0", + "@aws-sdk/xml-builder": "3.310.0", + "@smithy/config-resolver": "^2.0.16", + "@smithy/eventstream-serde-browser": "^2.0.12", + "@smithy/eventstream-serde-config-resolver": "^2.0.12", + "@smithy/eventstream-serde-node": "^2.0.12", + "@smithy/fetch-http-handler": "^2.2.4", + "@smithy/hash-blob-browser": "^2.0.12", + "@smithy/hash-node": "^2.0.12", + "@smithy/hash-stream-node": "^2.0.12", + "@smithy/invalid-dependency": "^2.0.12", + "@smithy/md5-js": "^2.0.12", + "@smithy/middleware-content-length": "^2.0.14", + "@smithy/middleware-endpoint": "^2.1.3", + "@smithy/middleware-retry": "^2.0.18", + "@smithy/middleware-serde": "^2.0.12", + "@smithy/middleware-stack": "^2.0.6", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/node-http-handler": "^2.1.8", + "@smithy/protocol-http": "^3.0.8", + "@smithy/smithy-client": "^2.1.12", + "@smithy/types": "^2.4.0", + "@smithy/url-parser": "^2.0.12", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.16", + "@smithy/util-defaults-mode-node": "^2.0.21", + "@smithy/util-endpoints": "^1.0.2", + "@smithy/util-retry": "^2.0.5", + "@smithy/util-stream": "^2.0.17", + "@smithy/util-utf8": "^2.0.0", + "@smithy/util-waiter": "^2.0.12", "fast-xml-parser": "4.2.5", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/client-sso": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.525.0.tgz", - "integrity": "sha512-6KwGQWFoNLH1UupdWPFdKPfTgjSz1kN8/r8aCzuvvXBe4Pz+iDUZ6FEJzGWNc9AapjvZDNO1hs23slomM9rTaA==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.525.0", - "@aws-sdk/middleware-host-header": "3.523.0", - "@aws-sdk/middleware-logger": "3.523.0", - "@aws-sdk/middleware-recursion-detection": "3.523.0", - "@aws-sdk/middleware-user-agent": "3.525.0", - "@aws-sdk/region-config-resolver": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-endpoints": "3.525.0", - "@aws-sdk/util-user-agent-browser": "3.523.0", - "@aws-sdk/util-user-agent-node": "3.525.0", - "@smithy/config-resolver": "^2.1.4", - "@smithy/core": "^1.3.5", - "@smithy/fetch-http-handler": "^2.4.3", - "@smithy/hash-node": "^2.1.3", - "@smithy/invalid-dependency": "^2.1.3", - "@smithy/middleware-content-length": "^2.1.3", - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/middleware-retry": "^2.1.4", - "@smithy/middleware-serde": "^2.1.3", - "@smithy/middleware-stack": "^2.1.3", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/node-http-handler": "^2.4.1", - "@smithy/protocol-http": "^3.2.1", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/url-parser": "^2.1.3", - "@smithy/util-base64": "^2.1.1", - "@smithy/util-body-length-browser": "^2.1.1", - "@smithy/util-body-length-node": "^2.2.1", - "@smithy/util-defaults-mode-browser": "^2.1.4", - "@smithy/util-defaults-mode-node": "^2.2.3", - "@smithy/util-endpoints": "^1.1.4", - "@smithy/util-middleware": "^2.1.3", - "@smithy/util-retry": "^2.1.3", - "@smithy/util-utf8": "^2.1.1", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/client-sso-oidc": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.525.0.tgz", - "integrity": "sha512-zz13k/6RkjPSLmReSeGxd8wzGiiZa4Odr2Tv3wTcxClM4wOjD+zOgGv4Fe32b9AMqaueiCdjbvdu7AKcYxFA4A==", - "requires": { + "node_modules/@aws-sdk/client-sso": { + "version": "3.441.0", + "license": "Apache-2.0", + "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.525.0", - "@aws-sdk/core": "3.525.0", - "@aws-sdk/middleware-host-header": "3.523.0", - "@aws-sdk/middleware-logger": "3.523.0", - "@aws-sdk/middleware-recursion-detection": "3.523.0", - "@aws-sdk/middleware-user-agent": "3.525.0", - "@aws-sdk/region-config-resolver": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-endpoints": "3.525.0", - "@aws-sdk/util-user-agent-browser": "3.523.0", - "@aws-sdk/util-user-agent-node": "3.525.0", - "@smithy/config-resolver": "^2.1.4", - "@smithy/core": "^1.3.5", - "@smithy/fetch-http-handler": "^2.4.3", - "@smithy/hash-node": "^2.1.3", - "@smithy/invalid-dependency": "^2.1.3", - "@smithy/middleware-content-length": "^2.1.3", - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/middleware-retry": "^2.1.4", - "@smithy/middleware-serde": "^2.1.3", - "@smithy/middleware-stack": "^2.1.3", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/node-http-handler": "^2.4.1", - "@smithy/protocol-http": "^3.2.1", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/url-parser": "^2.1.3", - "@smithy/util-base64": "^2.1.1", - "@smithy/util-body-length-browser": "^2.1.1", - "@smithy/util-body-length-node": "^2.2.1", - "@smithy/util-defaults-mode-browser": "^2.1.4", - "@smithy/util-defaults-mode-node": "^2.2.3", - "@smithy/util-endpoints": "^1.1.4", - "@smithy/util-middleware": "^2.1.3", - "@smithy/util-retry": "^2.1.3", - "@smithy/util-utf8": "^2.1.1", + "@aws-sdk/core": "3.441.0", + "@aws-sdk/middleware-host-header": "3.433.0", + "@aws-sdk/middleware-logger": "3.433.0", + "@aws-sdk/middleware-recursion-detection": "3.433.0", + "@aws-sdk/middleware-user-agent": "3.438.0", + "@aws-sdk/region-config-resolver": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-endpoints": "3.438.0", + "@aws-sdk/util-user-agent-browser": "3.433.0", + "@aws-sdk/util-user-agent-node": "3.437.0", + "@smithy/config-resolver": "^2.0.16", + "@smithy/fetch-http-handler": "^2.2.4", + "@smithy/hash-node": "^2.0.12", + "@smithy/invalid-dependency": "^2.0.12", + "@smithy/middleware-content-length": "^2.0.14", + "@smithy/middleware-endpoint": "^2.1.3", + "@smithy/middleware-retry": "^2.0.18", + "@smithy/middleware-serde": "^2.0.12", + "@smithy/middleware-stack": "^2.0.6", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/node-http-handler": "^2.1.8", + "@smithy/protocol-http": "^3.0.8", + "@smithy/smithy-client": "^2.1.12", + "@smithy/types": "^2.4.0", + "@smithy/url-parser": "^2.0.12", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.16", + "@smithy/util-defaults-mode-node": "^2.0.21", + "@smithy/util-endpoints": "^1.0.2", + "@smithy/util-retry": "^2.0.5", + "@smithy/util-utf8": "^2.0.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/client-sts": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.525.0.tgz", - "integrity": "sha512-a8NUGRvO6rkfTZCbMaCsjDjLbERCwIUU9dIywFYcRgbFhkupJ7fSaZz3Het98U51M9ZbTEpaTa3fz0HaJv8VJw==", - "requires": { + "node_modules/@aws-sdk/client-sts": { + "version": "3.441.0", + "license": "Apache-2.0", + "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.525.0", - "@aws-sdk/middleware-host-header": "3.523.0", - "@aws-sdk/middleware-logger": "3.523.0", - "@aws-sdk/middleware-recursion-detection": "3.523.0", - "@aws-sdk/middleware-user-agent": "3.525.0", - "@aws-sdk/region-config-resolver": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-endpoints": "3.525.0", - "@aws-sdk/util-user-agent-browser": "3.523.0", - "@aws-sdk/util-user-agent-node": "3.525.0", - "@smithy/config-resolver": "^2.1.4", - "@smithy/core": "^1.3.5", - "@smithy/fetch-http-handler": "^2.4.3", - "@smithy/hash-node": "^2.1.3", - "@smithy/invalid-dependency": "^2.1.3", - "@smithy/middleware-content-length": "^2.1.3", - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/middleware-retry": "^2.1.4", - "@smithy/middleware-serde": "^2.1.3", - "@smithy/middleware-stack": "^2.1.3", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/node-http-handler": "^2.4.1", - "@smithy/protocol-http": "^3.2.1", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/url-parser": "^2.1.3", - "@smithy/util-base64": "^2.1.1", - "@smithy/util-body-length-browser": "^2.1.1", - "@smithy/util-body-length-node": "^2.2.1", - "@smithy/util-defaults-mode-browser": "^2.1.4", - "@smithy/util-defaults-mode-node": "^2.2.3", - "@smithy/util-endpoints": "^1.1.4", - "@smithy/util-middleware": "^2.1.3", - "@smithy/util-retry": "^2.1.3", - "@smithy/util-utf8": "^2.1.1", + "@aws-sdk/core": "3.441.0", + "@aws-sdk/credential-provider-node": "3.441.0", + "@aws-sdk/middleware-host-header": "3.433.0", + "@aws-sdk/middleware-logger": "3.433.0", + "@aws-sdk/middleware-recursion-detection": "3.433.0", + "@aws-sdk/middleware-sdk-sts": "3.433.0", + "@aws-sdk/middleware-signing": "3.433.0", + "@aws-sdk/middleware-user-agent": "3.438.0", + "@aws-sdk/region-config-resolver": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-endpoints": "3.438.0", + "@aws-sdk/util-user-agent-browser": "3.433.0", + "@aws-sdk/util-user-agent-node": "3.437.0", + "@smithy/config-resolver": "^2.0.16", + "@smithy/fetch-http-handler": "^2.2.4", + "@smithy/hash-node": "^2.0.12", + "@smithy/invalid-dependency": "^2.0.12", + "@smithy/middleware-content-length": "^2.0.14", + "@smithy/middleware-endpoint": "^2.1.3", + "@smithy/middleware-retry": "^2.0.18", + "@smithy/middleware-serde": "^2.0.12", + "@smithy/middleware-stack": "^2.0.6", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/node-http-handler": "^2.1.8", + "@smithy/protocol-http": "^3.0.8", + "@smithy/smithy-client": "^2.1.12", + "@smithy/types": "^2.4.0", + "@smithy/url-parser": "^2.0.12", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.16", + "@smithy/util-defaults-mode-node": "^2.0.21", + "@smithy/util-endpoints": "^1.0.2", + "@smithy/util-retry": "^2.0.5", + "@smithy/util-utf8": "^2.0.0", "fast-xml-parser": "4.2.5", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/core": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.525.0.tgz", - "integrity": "sha512-E3LtEtMWCriQOFZpVKpLYzbdw/v2PAOEAMhn2VRRZ1g0/g1TXzQrfhEU2yd8l/vQEJaCJ82ooGGg7YECviBUxA==", - "requires": { - "@smithy/core": "^1.3.5", - "@smithy/protocol-http": "^3.2.1", - "@smithy/signature-v4": "^2.1.3", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "tslib": "^2.5.0" + "node_modules/@aws-sdk/core": { + "version": "3.441.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/smithy-client": "^2.1.12" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/credential-provider-env": { - "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.523.0.tgz", - "integrity": "sha512-Y6DWdH6/OuMDoNKVzZlNeBc6f1Yjk1lYMjANKpIhMbkRCvLJw/PYZKOZa8WpXbTYdgg9XLjKybnLIb3ww3uuzA==", - "requires": { - "@aws-sdk/types": "3.523.0", - "@smithy/property-provider": "^2.1.3", - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.433.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/credential-provider-http": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.525.0.tgz", - "integrity": "sha512-RNWQGuSBQZhl3iqklOslUEfQ4br1V3DCPboMpeqFtddUWJV3m2u2extFur9/4Uy+1EHVF120IwZUKtd8dF+ibw==", - "requires": { - "@aws-sdk/types": "3.523.0", - "@smithy/fetch-http-handler": "^2.4.3", - "@smithy/node-http-handler": "^2.4.1", - "@smithy/property-provider": "^2.1.3", - "@smithy/protocol-http": "^3.2.1", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/util-stream": "^2.1.3", + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.441.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.433.0", + "@aws-sdk/credential-provider-process": "3.433.0", + "@aws-sdk/credential-provider-sso": "3.441.0", + "@aws-sdk/credential-provider-web-identity": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@smithy/credential-provider-imds": "^2.0.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/credential-provider-ini": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.525.0.tgz", - "integrity": "sha512-JDnccfK5JRb9jcgpc9lirL9PyCwGIqY0nKdw3LlX5WL5vTpTG4E1q7rLAlpNh7/tFD1n66Itarfv2tsyHMIqCw==", - "requires": { - "@aws-sdk/client-sts": "3.525.0", - "@aws-sdk/credential-provider-env": "3.523.0", - "@aws-sdk/credential-provider-process": "3.523.0", - "@aws-sdk/credential-provider-sso": "3.525.0", - "@aws-sdk/credential-provider-web-identity": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@smithy/credential-provider-imds": "^2.2.3", - "@smithy/property-provider": "^2.1.3", - "@smithy/shared-ini-file-loader": "^2.3.3", - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.441.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.433.0", + "@aws-sdk/credential-provider-ini": "3.441.0", + "@aws-sdk/credential-provider-process": "3.433.0", + "@aws-sdk/credential-provider-sso": "3.441.0", + "@aws-sdk/credential-provider-web-identity": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@smithy/credential-provider-imds": "^2.0.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/credential-provider-node": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.525.0.tgz", - "integrity": "sha512-RJXlO8goGXpnoHQAyrCcJ0QtWEOFa34LSbfdqBIjQX/fwnjUuEmiGdXTV3AZmwYQ7juk49tfBneHbtOP3AGqsQ==", - "requires": { - "@aws-sdk/credential-provider-env": "3.523.0", - "@aws-sdk/credential-provider-http": "3.525.0", - "@aws-sdk/credential-provider-ini": "3.525.0", - "@aws-sdk/credential-provider-process": "3.523.0", - "@aws-sdk/credential-provider-sso": "3.525.0", - "@aws-sdk/credential-provider-web-identity": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@smithy/credential-provider-imds": "^2.2.3", - "@smithy/property-provider": "^2.1.3", - "@smithy/shared-ini-file-loader": "^2.3.3", - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.433.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/credential-provider-process": { - "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.523.0.tgz", - "integrity": "sha512-f0LP9KlFmMvPWdKeUKYlZ6FkQAECUeZMmISsv6NKtvPCI9e4O4cLTeR09telwDK8P0HrgcRuZfXM7E30m8re0Q==", - "requires": { - "@aws-sdk/types": "3.523.0", - "@smithy/property-provider": "^2.1.3", - "@smithy/shared-ini-file-loader": "^2.3.3", - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.441.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-sso": "3.441.0", + "@aws-sdk/token-providers": "3.438.0", + "@aws-sdk/types": "3.433.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/credential-provider-sso": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.525.0.tgz", - "integrity": "sha512-7V7ybtufxdD3plxeIeB6aqHZeFIUlAyPphXIUgXrGY10iNcosL970rQPBeggsohe4gCM6UvY2TfMeEcr+ZE8FA==", - "requires": { - "@aws-sdk/client-sso": "3.525.0", - "@aws-sdk/token-providers": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@smithy/property-provider": "^2.1.3", - "@smithy/shared-ini-file-loader": "^2.3.3", - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.433.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/credential-provider-web-identity": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.525.0.tgz", - "integrity": "sha512-sAukOjR1oKb2JXG4nPpuBFpSwGUhrrY17PG/xbTy8NAoLLhrqRwnErcLfdTfmj6tH+3094k6ws/Sh8a35ae7fA==", - "requires": { - "@aws-sdk/client-sts": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@smithy/property-provider": "^2.1.3", - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/middleware-bucket-endpoint": { + "version": "3.433.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-arn-parser": "3.310.0", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/protocol-http": "^3.0.8", + "@smithy/types": "^2.4.0", + "@smithy/util-config-provider": "^2.0.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/middleware-bucket-endpoint": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.525.0.tgz", - "integrity": "sha512-nYfQ2Xspfef7j8mZO7varUWLPH6HQlXateH7tBVtBNUAazyQE4UJEvC0fbQ+Y01e+FKlirim/m2umkdMXqAlTg==", - "requires": { - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-arn-parser": "3.495.0", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", - "@smithy/util-config-provider": "^2.2.1", + "node_modules/@aws-sdk/middleware-expect-continue": { + "version": "3.433.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/middleware-expect-continue": { - "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.523.0.tgz", - "integrity": "sha512-E5DyRAHU39VHaAlQLqXYS/IKpgk3vsryuU6kkOcIIK8Dgw0a2tjoh5AOCaNa8pD+KgAGrFp35JIMSX1zui5diA==", - "requires": { - "@aws-sdk/types": "3.523.0", - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/middleware-flexible-checksums": { + "version": "3.433.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/crc32": "3.0.0", + "@aws-crypto/crc32c": "3.0.0", + "@aws-sdk/types": "3.433.0", + "@smithy/is-array-buffer": "^2.0.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/types": "^2.4.0", + "@smithy/util-utf8": "^2.0.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/middleware-flexible-checksums": { - "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.523.0.tgz", - "integrity": "sha512-lIa1TdWY9q4zsDFarfSnYcdrwPR+nypaU4n6hb95i620/1F5M5s6H8P0hYtwTNNvx+slrR8F3VBML9pjBtzAHw==", - "requires": { - "@aws-crypto/crc32": "3.0.0", - "@aws-crypto/crc32c": "3.0.0", - "@aws-sdk/types": "3.523.0", - "@smithy/is-array-buffer": "^2.1.1", - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", - "@smithy/util-utf8": "^2.1.1", + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.433.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/middleware-host-header": { - "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.523.0.tgz", - "integrity": "sha512-4g3q7Ta9sdD9TMUuohBAkbx/e3I/juTqfKi7TPgP+8jxcYX72MOsgemAMHuP6CX27eyj4dpvjH+w4SIVDiDSmg==", - "requires": { - "@aws-sdk/types": "3.523.0", - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/middleware-location-constraint": { + "version": "3.433.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/middleware-location-constraint": { - "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.523.0.tgz", - "integrity": "sha512-1QAUXX3U0jkARnU0yyjk81EO4Uw5dCeQOtvUY5s3bUOHatR3ThosQeIr6y9BCsbXHzNnDe1ytCjqAPyo8r/bYw==", - "requires": { - "@aws-sdk/types": "3.523.0", - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.433.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/middleware-logger": { - "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.523.0.tgz", - "integrity": "sha512-PeDNJNhfiaZx54LBaLTXzUaJ9LXFwDFFIksipjqjvxMafnoVcQwKbkoPUWLe5ytT4nnL1LogD3s55mERFUsnwg==", - "requires": { - "@aws-sdk/types": "3.523.0", - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.433.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/middleware-recursion-detection": { - "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.523.0.tgz", - "integrity": "sha512-nZ3Vt7ehfSDYnrcg/aAfjjvpdE+61B3Zk68i6/hSUIegT3IH9H1vSW67NDKVp+50hcEfzWwM2HMPXxlzuyFyrw==", - "requires": { - "@aws-sdk/types": "3.523.0", - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.440.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-arn-parser": "3.310.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/smithy-client": "^2.1.12", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/middleware-sdk-s3": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.525.0.tgz", - "integrity": "sha512-ewFyyFM6wdFTOqCiId5GQNi7owDdLEonQhB4h8tF6r3HV52bRlDvZA4aDos+ft6N/XY2J6L0qlFTFq+/oiurXw==", - "requires": { - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-arn-parser": "3.495.0", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/protocol-http": "^3.2.1", - "@smithy/signature-v4": "^2.1.3", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/util-config-provider": "^2.2.1", + "node_modules/@aws-sdk/middleware-sdk-sts": { + "version": "3.433.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-signing": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/middleware-signing": { - "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.523.0.tgz", - "integrity": "sha512-pFXV4don6qcmew/OvEjLUr2foVjzoJ8o5k57Oz9yAHz8INx3RHK8MP/K4mVhHo6n0SquRcWrm4kY/Tw+89gkEA==", - "requires": { - "@aws-sdk/types": "3.523.0", - "@smithy/property-provider": "^2.1.3", - "@smithy/protocol-http": "^3.2.1", - "@smithy/signature-v4": "^2.1.3", - "@smithy/types": "^2.10.1", - "@smithy/util-middleware": "^2.1.3", + "node_modules/@aws-sdk/middleware-signing": { + "version": "3.433.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/signature-v4": "^2.0.0", + "@smithy/types": "^2.4.0", + "@smithy/util-middleware": "^2.0.5", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/middleware-ssec": { - "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.523.0.tgz", - "integrity": "sha512-FaqAZQeF5cQzZLOIboIJRaWVOQ2F2pJZAXGF5D7nJsxYNFChotA0O0iWimBRxU35RNn7yirVxz35zQzs20ddIw==", - "requires": { - "@aws-sdk/types": "3.523.0", - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/middleware-ssec": { + "version": "3.433.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/middleware-user-agent": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.525.0.tgz", - "integrity": "sha512-4al/6uO+t/QIYXK2OgqzDKQzzLAYJza1vWFS+S0lJ3jLNGyLB5BMU5KqWjDzevYZ4eCnz2Nn7z0FveUTNz8YdQ==", - "requires": { - "@aws-sdk/types": "3.523.0", - "@aws-sdk/util-endpoints": "3.525.0", - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.438.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-endpoints": "3.438.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/region-config-resolver": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.525.0.tgz", - "integrity": "sha512-8kFqXk6UyKgTMi7N7QlhA6qM4pGPWbiUXqEY2RgUWngtxqNFGeM9JTexZeuavQI+qLLe09VPShPNX71fEDcM6w==", - "requires": { - "@aws-sdk/types": "3.523.0", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/types": "^2.10.1", - "@smithy/util-config-provider": "^2.2.1", - "@smithy/util-middleware": "^2.1.3", + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.433.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^2.1.3", + "@smithy/types": "^2.4.0", + "@smithy/util-config-provider": "^2.0.0", + "@smithy/util-middleware": "^2.0.5", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/signature-v4-multi-region": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.525.0.tgz", - "integrity": "sha512-j8gkdfiokaherRgokfZBl2azYBMHlegT7pOnR/3Y79TSz6G+bJeIkuNk8aUbJArr6R8nvAM1j4dt1rBM+efolQ==", - "requires": { - "@aws-sdk/middleware-sdk-s3": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@smithy/protocol-http": "^3.2.1", - "@smithy/signature-v4": "^2.1.3", - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.437.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/signature-v4": "^2.0.0", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/token-providers": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.525.0.tgz", - "integrity": "sha512-puVjbxuK0Dq7PTQ2HdddHy2eQjOH8GZbump74yWJa6JVpRW84LlOcNmP+79x4Kscvz2ldWB8XDFw/pcCiSDe5A==", - "requires": { - "@aws-sdk/client-sso-oidc": "3.525.0", - "@aws-sdk/types": "3.523.0", - "@smithy/property-provider": "^2.1.3", - "@smithy/shared-ini-file-loader": "^2.3.3", - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/token-providers": { + "version": "3.438.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/middleware-host-header": "3.433.0", + "@aws-sdk/middleware-logger": "3.433.0", + "@aws-sdk/middleware-recursion-detection": "3.433.0", + "@aws-sdk/middleware-user-agent": "3.438.0", + "@aws-sdk/region-config-resolver": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-endpoints": "3.438.0", + "@aws-sdk/util-user-agent-browser": "3.433.0", + "@aws-sdk/util-user-agent-node": "3.437.0", + "@smithy/config-resolver": "^2.0.16", + "@smithy/fetch-http-handler": "^2.2.4", + "@smithy/hash-node": "^2.0.12", + "@smithy/invalid-dependency": "^2.0.12", + "@smithy/middleware-content-length": "^2.0.14", + "@smithy/middleware-endpoint": "^2.1.3", + "@smithy/middleware-retry": "^2.0.18", + "@smithy/middleware-serde": "^2.0.12", + "@smithy/middleware-stack": "^2.0.6", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/node-http-handler": "^2.1.8", + "@smithy/property-provider": "^2.0.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/smithy-client": "^2.1.12", + "@smithy/types": "^2.4.0", + "@smithy/url-parser": "^2.0.12", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.16", + "@smithy/util-defaults-mode-node": "^2.0.21", + "@smithy/util-endpoints": "^1.0.2", + "@smithy/util-retry": "^2.0.5", + "@smithy/util-utf8": "^2.0.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/types": { - "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.523.0.tgz", - "integrity": "sha512-AqGIu4u+SxPiUuNBp2acCVcq80KDUFjxe6e3cMTvKWTzCbrVk1AXv0dAaJnCmdkWIha6zJDWxpIk/aL4EGhZ9A==", - "requires": { - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/types": { + "version": "3.433.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/util-arn-parser": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.495.0.tgz", - "integrity": "sha512-hwdA3XAippSEUxs7jpznwD63YYFR+LtQvlEcebPTgWR9oQgG9TfS+39PUfbnEeje1ICuOrN3lrFqFbmP9uzbMg==", - "requires": { + "node_modules/@aws-sdk/util-arn-parser": { + "version": "3.310.0", + "license": "Apache-2.0", + "dependencies": { "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/util-endpoints": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.525.0.tgz", - "integrity": "sha512-DIW7WWU5tIGkeeKX6NJUyrEIdWMiqjLQG3XBzaUj+ufIENwNjdAHhlD8l2vX7Yr3JZRT6yN/84wBCj7Tw1xd1g==", - "requires": { - "@aws-sdk/types": "3.523.0", - "@smithy/types": "^2.10.1", - "@smithy/util-endpoints": "^1.1.4", + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.438.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/util-endpoints": "^1.0.2", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/util-locate-window": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.495.0.tgz", - "integrity": "sha512-MfaPXT0kLX2tQaR90saBT9fWQq2DHqSSJRzW+MZWsmF+y5LGCOhO22ac/2o6TKSQm7h0HRc2GaADqYYYor62yg==", - "requires": { + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.310.0", + "license": "Apache-2.0", + "dependencies": { "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@aws-sdk/util-user-agent-browser": { - "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.523.0.tgz", - "integrity": "sha512-6ZRNdGHX6+HQFqTbIA5+i8RWzxFyxsZv8D3soRfpdyWIKkzhSz8IyRKXRciwKBJDaC7OX2jzGE90wxRQft27nA==", - "requires": { - "@aws-sdk/types": "3.523.0", - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.433.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/types": "^2.4.0", "bowser": "^2.11.0", "tslib": "^2.5.0" } }, - "@aws-sdk/util-user-agent-node": { - "version": "3.525.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.525.0.tgz", - "integrity": "sha512-88Wjt4efyUSBGcyIuh1dvoMqY1k15jpJc5A/3yi67clBQEFsu9QCodQCQPqmRjV3VRcMtBOk+jeCTiUzTY5dRQ==", - "requires": { - "@aws-sdk/types": "3.523.0", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.437.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, - "@aws-sdk/util-utf8-browser": { + "node_modules/@aws-sdk/util-utf8-browser": { "version": "3.259.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", - "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", - "requires": { + "license": "Apache-2.0", + "dependencies": { "tslib": "^2.3.1" } }, - "@aws-sdk/xml-builder": { - "version": "3.523.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.523.0.tgz", - "integrity": "sha512-wfvyVymj2TUw7SuDor9IuFcAzJZvWRBZotvY/wQJOlYa3UP3Oezzecy64N4FWfBJEsZdrTN+HOZFl+IzTWWnUA==", - "requires": { - "@smithy/types": "^2.10.1", + "node_modules/@aws-sdk/xml-builder": { + "version": "3.310.0", + "license": "Apache-2.0", + "dependencies": { "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "requires": { - "@babel/highlight": "^7.23.4", + "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" } }, - "@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==" - }, - "@babel/core": { - "version": "7.18.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.5.tgz", - "integrity": "sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==", - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.2", - "@babel/helper-compilation-targets": "^7.18.2", - "@babel/helper-module-transforms": "^7.18.0", - "@babel/helpers": "^7.18.2", - "@babel/parser": "^7.18.5", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.5", - "@babel/types": "^7.18.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/eslint-parser": { - "version": "7.23.10", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.10.tgz", - "integrity": "sha512-3wSYDPZVnhseRnxRJH6ZVTNknBz76AEnyC+AYYhasjP3Yy23qz0ERR7Fcd2SHmYuSFJ2kY9gaaDd3vyqU09eSw==", + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", "dev": true, - "requires": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.1" + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "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==", - "dev": true - } + "color-name": "1.1.3" } }, - "@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", - "requires": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, - "@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==", + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", "dev": true, - "requires": { - "@babel/types": "^7.22.5" + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "@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==", + "node_modules/@babel/compat-data": { + "version": "7.23.2", "dev": true, - "requires": { - "@babel/types": "^7.22.15" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "requires": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", + "node_modules/@babel/core": { + "version": "7.23.2", + "dev": true, + "license": "MIT", + "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.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" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "@babel/helper-create-class-features-plugin": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz", - "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==", + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "semver": "^6.3.1" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-create-regexp-features-plugin": { + "node_modules/@babel/eslint-parser": { "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, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", + "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" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" } }, - "@babel/helper-define-polyfill-provider": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", - "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", "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" + "license": "Apache-2.0", + "engines": { + "node": ">=10" } }, - "@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==" + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } }, - "@babel/helper-function-name": { + "node_modules/@babel/generator": { "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" + "dev": true, + "license": "MIT", + "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" } }, - "@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/@babel/generator/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "@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==", + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", "dev": true, - "requires": { - "@babel/types": "^7.23.0" + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-module-imports": { + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { "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": { + "dev": true, + "license": "MIT", + "dependencies": { "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "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" + "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" } }, - "@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==", + "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/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "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-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": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "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_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.3", + "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/@babel/helper-environment-visitor": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "dev": true, + "license": "MIT", + "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", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", - "dev": true + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "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" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.0", + "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-remap-async-to-generator": { + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "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==", "dev": true, - "requires": { + "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-replace-supers": { + "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, - "requires": { + "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-simple-access": { + "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==", - "requires": { + "dev": true, + "license": "MIT", + "dependencies": { "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-skip-transparent-expression-wrappers": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-split-export-declaration": { + "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==", - "requires": { + "dev": true, + "license": "MIT", + "dependencies": { "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-string-parser": { - "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==" + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "@babel/helper-validator-identifier": { + "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" + } }, - "@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==" + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "@babel/helper-wrap-function": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-function-name": "^7.22.5", "@babel/template": "^7.22.15", "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helpers": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", - "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", - "requires": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0" + "node_modules/@babel/helpers": { + "version": "7.23.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "requires": { + "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" } }, - "@babel/parser": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", - "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==" + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } }, - "@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==", + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "@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==", + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", "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.23.3" + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" } }, - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", - "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.20", + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.0", + "dev": true, + "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.15", + "dev": true, + "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.15", + "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" } }, - "@babel/plugin-proposal-class-properties": { + "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, - "requires": { + "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-proposal-decorators": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.0.tgz", - "integrity": "sha512-LiT1RqZWeij7X+wGxCoYh3/3b8nVOX6/7BZ9wiQgAIyjoeQWdROaodJCgT+dwtbjHaz0r7bEbHJzjSbVfcOyjQ==", + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.23.2", "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.24.0", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-decorators": "^7.24.0" + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/plugin-syntax-decorators": "^7.22.10" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-proposal-nullish-coalescing-operator": { + "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, - "requires": { + "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-proposal-numeric-separator": { + "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, - "requires": { + "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-proposal-optional-chaining": { + "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, - "requires": { + "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-proposal-private-methods": { + "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==", "dev": true, - "requires": { + "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-proposal-private-property-in-object": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@babel/plugin-syntax-async-generators": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-bigint": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-class-properties": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-class-static-block": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-decorators": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.0.tgz", - "integrity": "sha512-MXW3pQCu9gUiVGzqkGqsgiINDVYXoAnrY8FYF/rmb+OfufNF0zHMpHPN4ulRrinxYT8Vk/aZJxYqOKsDECjKAw==", + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.22.10", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-dynamic-import": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-export-namespace-from": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-import-meta": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-json-strings": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-logical-assignment-operators": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-nullish-coalescing-operator": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-numeric-separator": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-object-rest-spread": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-optional-catch-binding": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-optional-chaining": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-private-property-in-object": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-top-level-await": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-unicode-sets-regex": { + "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, - "requires": { + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-async-generator-functions": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", - "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.2", "dev": true, - "requires": { + "license": "MIT", + "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": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.22.15", + "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.20" + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.0", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.15", + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.11", "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.15", + "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" } }, - "@babel/plugin-transform-classes": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", - "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.15", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", + "@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.20", + "@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" } }, - "@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==", + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.15" + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.0", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", "dev": true, - "requires": { + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", "dev": true, - "requires": { + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.23.3" + "@babel/plugin-syntax-flow": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-for-of": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", - "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.15", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^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" } }, - "@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==", + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-function-name": "^7.23.0", + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.11", "dev": true, - "requires": { + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", "dev": true, - "requires": { + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.0", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.23.3", + "license": "MIT", + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.0", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.23.3", + "license": "MIT", + "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" } }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", - "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.0", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", + "@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" } }, - "@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==", + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.23.3", + "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/plugin-transform-named-capturing-groups-regex": { + "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, - "requires": { + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", "dev": true, - "requires": { + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", "dev": true, - "requires": { + "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" } }, - "@babel/plugin-transform-object-rest-spread": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz", - "integrity": "sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==", + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.15", "dev": true, - "requires": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", + "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.23.3" + "@babel/plugin-transform-parameters": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20" + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", "dev": true, - "requires": { + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.0", "dev": true, - "requires": { + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.15", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.15", + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", + "@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" } }, - "@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==", + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz", - "integrity": "sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==", + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.22.15", "dev": true, - "requires": { + "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.23.3", - "@babel/types": "^7.23.4" + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-react-jsx-development": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", "dev": true, - "requires": { + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.10", "dev": true, - "requires": { + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-runtime": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.0.tgz", - "integrity": "sha512-zc0GA5IitLKJrSfXlXmp8KDqLrnGECK7YRfQBmEKg1NmBOQ7e+KuclBEKJgzifQeUYLdNiAw4B4bjyvzWVLiSA==", + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.23.2", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", + "@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": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "@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==", + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", "dev": true, - "requires": { + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-typescript": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", - "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.22.15", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.23.6", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.23.3" + "@babel/plugin-syntax-typescript": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "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" } }, - "@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==", + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "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" + } }, - "@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==", + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "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" } }, - "@babel/preset-env": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.0.tgz", - "integrity": "sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==", + "node_modules/@babel/preset-env": { + "version": "7.23.2", "dev": true, - "requires": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@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.7", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.23.2", + "@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.23.3", - "@babel/plugin-syntax-import-attributes": "^7.23.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", @@ -2002,171 +2747,208 @@ "@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.9", - "@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.4", - "@babel/plugin-transform-class-properties": "^7.23.3", - "@babel/plugin-transform-class-static-block": "^7.23.4", - "@babel/plugin-transform-classes": "^7.23.8", - "@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.4", - "@babel/plugin-transform-exponentiation-operator": "^7.23.3", - "@babel/plugin-transform-export-namespace-from": "^7.23.4", - "@babel/plugin-transform-for-of": "^7.23.6", - "@babel/plugin-transform-function-name": "^7.23.3", - "@babel/plugin-transform-json-strings": "^7.23.4", - "@babel/plugin-transform-literals": "^7.23.3", - "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", - "@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.9", - "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.23.2", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.23.0", + "@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.23.0", + "@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.23.0", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-modules-systemjs": "^7.23.0", + "@babel/plugin-transform-modules-umd": "^7.22.5", "@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.4", - "@babel/plugin-transform-numeric-separator": "^7.23.4", - "@babel/plugin-transform-object-rest-spread": "^7.24.0", - "@babel/plugin-transform-object-super": "^7.23.3", - "@babel/plugin-transform-optional-catch-binding": "^7.23.4", - "@babel/plugin-transform-optional-chaining": "^7.23.4", - "@babel/plugin-transform-parameters": "^7.23.3", - "@babel/plugin-transform-private-methods": "^7.23.3", - "@babel/plugin-transform-private-property-in-object": "^7.23.4", - "@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/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.23.0", + "@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-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", + "@babel/types": "^7.23.0", + "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": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "@babel/preset-modules": { + "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, - "requires": { + "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" } }, - "@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==", + "node_modules/@babel/preset-react": { + "version": "7.22.15", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@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-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.23.3" + "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@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==", + "node_modules/@babel/preset-typescript": { + "version": "7.23.2", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@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" + "@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" } }, - "@babel/regjsgen": { + "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 + "dev": true, + "license": "MIT" }, - "@babel/runtime": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", - "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", + "node_modules/@babel/runtime": { + "version": "7.23.2", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "requires": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" + "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" } }, - "@babel/traverse": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", - "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", - "requires": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", + "node_modules/@babel/traverse": { + "version": "7.23.2", + "dev": true, + "license": "MIT", + "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.24.0", - "@babel/types": "^7.24.0", - "debug": "^4.3.1", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - "requires": { - "@babel/helper-string-parser": "^7.23.4", + "node_modules/@babel/types": { + "version": "7.23.0", + "dev": true, + "license": "MIT", + "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" } }, - "@bcoe/v8-coverage": { + "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" }, - "@colors/colors": { + "node_modules/@colors/colors": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, - "optional": true + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } }, - "@commitlint/cli": { + "node_modules/@commitlint/cli": { "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.8.1.tgz", - "integrity": "sha512-ay+WbzQesE0Rv4EQKfNbSMiJJ12KdKTDzIt0tcK4k11FdsWmtwP0Kp1NWMOUswfIWo6Eb7p7Ln721Nx9FLNBjg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@commitlint/format": "^17.8.1", "@commitlint/lint": "^17.8.1", "@commitlint/load": "^17.8.1", @@ -2177,162 +2959,104 @@ "resolve-from": "5.0.0", "resolve-global": "1.0.0", "yargs": "^17.0.0" + }, + "bin": { + "commitlint": "cli.js" + }, + "engines": { + "node": ">=v14" } }, - "@commitlint/config-conventional": { + "node_modules/@commitlint/config-conventional": { "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-17.8.1.tgz", - "integrity": "sha512-NxCOHx1kgneig3VLauWJcDWS40DVjg7nKOpBEEK9E5fjJpQqLCilcnKkIIjdBH98kEO1q3NpE5NSrZ2kl/QGJg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "conventional-changelog-conventionalcommits": "^6.1.0" + }, + "engines": { + "node": ">=v14" } }, - "@commitlint/config-validator": { + "node_modules/@commitlint/config-validator": { "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.8.1.tgz", - "integrity": "sha512-UUgUC+sNiiMwkyiuIFR7JG2cfd9t/7MV8VB4TZ+q02ZFkHoduUS4tJGsCBWvBOGD9Btev6IecPMvlWUfJorkEA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@commitlint/types": "^17.8.1", "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v14" } }, - "@commitlint/ensure": { + "node_modules/@commitlint/ensure": { "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-17.8.1.tgz", - "integrity": "sha512-xjafwKxid8s1K23NFpL8JNo6JnY/ysetKo8kegVM7c8vs+kWLP8VrQq+NbhgVlmCojhEDbzQKp4eRXSjVOGsow==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@commitlint/types": "^17.8.1", "lodash.camelcase": "^4.3.0", "lodash.kebabcase": "^4.1.1", "lodash.snakecase": "^4.1.1", "lodash.startcase": "^4.4.0", "lodash.upperfirst": "^4.3.1" + }, + "engines": { + "node": ">=v14" } }, - "@commitlint/execute-rule": { + "node_modules/@commitlint/execute-rule": { "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-17.8.1.tgz", - "integrity": "sha512-JHVupQeSdNI6xzA9SqMF+p/JjrHTcrJdI02PwesQIDCIGUrv04hicJgCcws5nzaoZbROapPs0s6zeVHoxpMwFQ==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=v14" + } }, - "@commitlint/format": { + "node_modules/@commitlint/format": { "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-17.8.1.tgz", - "integrity": "sha512-f3oMTyZ84M9ht7fb93wbCKmWxO5/kKSbwuYvS867duVomoOsgrgljkGGIztmT/srZnaiGbaK8+Wf8Ik2tSr5eg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@commitlint/types": "^17.8.1", "chalk": "^4.1.0" }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "engines": { + "node": ">=v14" } }, - "@commitlint/is-ignored": { + "node_modules/@commitlint/is-ignored": { "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.8.1.tgz", - "integrity": "sha512-UshMi4Ltb4ZlNn4F7WtSEugFDZmctzFpmbqvpyxD3la510J+PLcnyhf9chs7EryaRFJMdAKwsEKfNK0jL/QM4g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@commitlint/types": "^17.8.1", "semver": "7.5.4" }, - "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 - } + "engines": { + "node": ">=v14" } }, - "@commitlint/lint": { + "node_modules/@commitlint/lint": { "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-17.8.1.tgz", - "integrity": "sha512-aQUlwIR1/VMv2D4GXSk7PfL5hIaFSfy6hSHV94O8Y27T5q+DlDEgd/cZ4KmVI+MWKzFfCTiTuWqjfRSfdRllCA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@commitlint/is-ignored": "^17.8.1", "@commitlint/parse": "^17.8.1", "@commitlint/rules": "^17.8.1", "@commitlint/types": "^17.8.1" + }, + "engines": { + "node": ">=v14" } }, - "@commitlint/load": { + "node_modules/@commitlint/load": { "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.8.1.tgz", - "integrity": "sha512-iF4CL7KDFstP1kpVUkT8K2Wl17h2yx9VaR1ztTc8vzByWWcbO/WaKwxsnCOqow9tVAlzPfo1ywk9m2oJ9ucMqA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@commitlint/config-validator": "^17.8.1", "@commitlint/execute-rule": "^17.8.1", "@commitlint/resolve-extends": "^17.8.1", @@ -2348,378 +3072,424 @@ "ts-node": "^10.8.1", "typescript": "^4.6.4 || ^5.2.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" - } - } + "engines": { + "node": ">=v14" } }, - "@commitlint/message": { + "node_modules/@commitlint/message": { "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-17.8.1.tgz", - "integrity": "sha512-6bYL1GUQsD6bLhTH3QQty8pVFoETfFQlMn2Nzmz3AOLqRVfNNtXBaSY0dhZ0dM6A2MEq4+2d7L/2LP8TjqGRkA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=v14" + } }, - "@commitlint/parse": { + "node_modules/@commitlint/parse": { "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-17.8.1.tgz", - "integrity": "sha512-/wLUickTo0rNpQgWwLPavTm7WbwkZoBy3X8PpkUmlSmQJyWQTj0m6bDjiykMaDt41qcUbfeFfaCvXfiR4EGnfw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@commitlint/types": "^17.8.1", "conventional-changelog-angular": "^6.0.0", "conventional-commits-parser": "^4.0.0" + }, + "engines": { + "node": ">=v14" } }, - "@commitlint/read": { + "node_modules/@commitlint/read": { "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-17.8.1.tgz", - "integrity": "sha512-Fd55Oaz9irzBESPCdMd8vWWgxsW3OWR99wOntBDHgf9h7Y6OOHjWEdS9Xzen1GFndqgyoaFplQS5y7KZe0kO2w==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@commitlint/top-level": "^17.8.1", "@commitlint/types": "^17.8.1", "fs-extra": "^11.0.0", "git-raw-commits": "^2.0.11", "minimist": "^1.2.6" + }, + "engines": { + "node": ">=v14" } }, - "@commitlint/resolve-extends": { + "node_modules/@commitlint/resolve-extends": { "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.8.1.tgz", - "integrity": "sha512-W/ryRoQ0TSVXqJrx5SGkaYuAaE/BUontL1j1HsKckvM6e5ZaG0M9126zcwL6peKSuIetJi7E87PRQF8O86EW0Q==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@commitlint/config-validator": "^17.8.1", "@commitlint/types": "^17.8.1", "import-fresh": "^3.0.0", "lodash.mergewith": "^4.6.2", "resolve-from": "^5.0.0", "resolve-global": "^1.0.0" + }, + "engines": { + "node": ">=v14" } }, - "@commitlint/rules": { + "node_modules/@commitlint/rules": { "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-17.8.1.tgz", - "integrity": "sha512-2b7OdVbN7MTAt9U0vKOYKCDsOvESVXxQmrvuVUZ0rGFMCrCPJWWP1GJ7f0lAypbDAhaGb8zqtdOr47192LBrIA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@commitlint/ensure": "^17.8.1", "@commitlint/message": "^17.8.1", "@commitlint/to-lines": "^17.8.1", "@commitlint/types": "^17.8.1", "execa": "^5.0.0" + }, + "engines": { + "node": ">=v14" } }, - "@commitlint/to-lines": { + "node_modules/@commitlint/to-lines": { "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-17.8.1.tgz", - "integrity": "sha512-LE0jb8CuR/mj6xJyrIk8VLz03OEzXFgLdivBytoooKO5xLt5yalc8Ma5guTWobw998sbR3ogDd+2jed03CFmJA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=v14" + } }, - "@commitlint/top-level": { + "node_modules/@commitlint/top-level": { "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-17.8.1.tgz", - "integrity": "sha512-l6+Z6rrNf5p333SHfEte6r+WkOxGlWK4bLuZKbtf/2TXRN+qhrvn1XE63VhD8Oe9oIHQ7F7W1nG2k/TJFhx2yA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "find-up": "^5.0.0" + }, + "engines": { + "node": ">=v14" } }, - "@commitlint/types": { + "node_modules/@commitlint/types": { "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-17.8.1.tgz", - "integrity": "sha512-PXDQXkAmiMEG162Bqdh9ChML/GJZo6vU+7F03ALKDK8zYc6SuAr47LjG7hGYRqUOz+WK0dU7bQ0xzuqFMdxzeQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "chalk": "^4.1.0" }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "engines": { + "node": ">=v14" } }, - "@cspotcode/source-map-support": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@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" - } - } + "engines": { + "node": ">=12" } }, - "@csstools/normalize.css": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", - "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==", - "dev": true + "node_modules/@csstools/normalize.css": { + "version": "12.0.0", + "dev": true, + "license": "CC0-1.0" }, - "@csstools/postcss-cascade-layers": { + "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==", "dev": true, - "requires": { + "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" } }, - "@csstools/postcss-color-function": { + "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==", "dev": true, - "requires": { + "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" } }, - "@csstools/postcss-font-format-keywords": { + "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==", "dev": true, - "requires": { + "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" } }, - "@csstools/postcss-hwb-function": { + "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==", "dev": true, - "requires": { + "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" } }, - "@csstools/postcss-ic-unit": { + "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==", "dev": true, - "requires": { + "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" } }, - "@csstools/postcss-is-pseudo-class": { + "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==", "dev": true, - "requires": { + "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" } }, - "@csstools/postcss-nested-calc": { + "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==", "dev": true, - "requires": { + "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" } }, - "@csstools/postcss-normalize-display-values": { + "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==", "dev": true, - "requires": { + "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" } }, - "@csstools/postcss-oklab-function": { + "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==", "dev": true, - "requires": { + "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" } }, - "@csstools/postcss-progressive-custom-properties": { + "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==", "dev": true, - "requires": { + "license": "CC0-1.0", + "dependencies": { "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" } }, - "@csstools/postcss-stepped-value-functions": { + "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==", "dev": true, - "requires": { + "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" } }, - "@csstools/postcss-text-decoration-shorthand": { + "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==", "dev": true, - "requires": { + "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" } }, - "@csstools/postcss-trigonometric-functions": { + "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==", "dev": true, - "requires": { + "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" } }, - "@csstools/postcss-unset-value": { + "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==", - "dev": true + "dev": true, + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } }, - "@csstools/selector-specificity": { + "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==", - "dev": true + "dev": true, + "license": "CC0-1.0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.10" + } }, - "@discoveryjs/json-ext": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } }, - "@eslint-community/eslint-utils": { + "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, - "requires": { + "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" } }, - "@eslint-community/regexpp": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } }, - "@eslint/eslintrc": { + "node_modules/@eslint/eslintrc": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, - "requires": { + "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.6.0", @@ -2730,385 +3500,243 @@ "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/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/@eslint/eslintrc/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": { - "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" - } - }, - "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" - } - }, - "globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "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 - }, - "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" - } - }, - "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 - }, - "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 - } + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/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/@eslint/eslintrc/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": "*" } }, - "@eslint/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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { "version": "8.57.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } }, - "@humanwhocodes/config-array": { + "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, - "requires": { + "dependencies": { "@humanwhocodes/object-schema": "^2.0.2", "debug": "^4.3.1", "minimatch": "^3.0.5" }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/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": { - "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" - } - }, - "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" - } - } + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/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": "*" } }, - "@humanwhocodes/module-importer": { + "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 + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } }, - "@humanwhocodes/object-schema": { + "node_modules/@humanwhocodes/object-schema": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", "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 - }, - "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 - }, - "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 - }, - "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 - }, - "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" - } - }, - "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": { - "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 - }, - "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": { - "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-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" - }, - "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 - } - } - }, - "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" - } - }, - "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-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" - } - }, - "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" - } - } - } - } - } - }, - "@istanbuljs/load-nyc-config": { + "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, - "requires": { + "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/argparse": { + "version": "1.0.10", + "dev": true, + "license": "MIT", "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" - } - } + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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/@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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "@istanbuljs/schema": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "@jest/console": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", "chalk": "^4.0.0", @@ -3116,64 +3744,15 @@ "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==", - "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" - } - } + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@jest/core": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/console": "^27.5.1", "@jest/reporters": "^27.5.1", "@jest/test-result": "^27.5.1", @@ -3203,101 +3782,66 @@ "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "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" - } + "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 } } }, - "@jest/environment": { + "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==", "dev": true, - "requires": { + "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" } }, - "@jest/fake-timers": { + "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==", "dev": true, - "requires": { + "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" } }, - "@jest/globals": { + "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==", "dev": true, - "requires": { + "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" } }, - "@jest/reporters": { + "node_modules/@jest/reporters": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^27.5.1", "@jest/test-result": "^27.5.1", @@ -3324,141 +3868,114 @@ "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==", - "dev": true, - "requires": { - "color-convert": "^2.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==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.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 - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "supports-color": { - "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" - } + "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 } } }, - "@jest/schemas": { + "node_modules/@jest/reporters/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/@jest/reporters/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/@jest/reporters/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "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, - "requires": { + "license": "MIT", + "dependencies": { "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "@jest/source-map": { + "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==", "dev": true, - "requires": { + "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" } }, - "@jest/test-result": { + "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==", "dev": true, - "requires": { + "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" } }, - "@jest/test-sequencer": { + "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==", "dev": true, - "requires": { + "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" } }, - "@jest/transform": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/core": "^7.1.0", "@jest/types": "^27.5.1", "babel-plugin-istanbul": "^6.1.1", @@ -3475,239 +3992,147 @@ "source-map": "^0.6.1", "write-file-atomic": "^3.0.0" }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "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" - } - } + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@jest/types": { + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "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, - "requires": { + "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" }, - "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" - } - } + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "requires": { - "@jridgewell/set-array": "^1.2.1", + "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.24" + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, - "@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } }, - "@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==" + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } }, - "@jridgewell/source-map": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" } }, - "@jridgewell/sourcemap-codec": { + "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==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "@kount/kount-web-client-sdk": { + "node_modules/@kount/kount-web-client-sdk": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@kount/kount-web-client-sdk/-/kount-web-client-sdk-1.1.6.tgz", - "integrity": "sha512-la9IXLcH3p7e2TE6XOaNVVZH0Djb7lckt1yPgULh/CEh8ebkIMhrMqSdgILXfyLuQ+DghdIU907aNMh20y2dCw==" + "license": "SEE LICENSE IN LICENSE" }, - "@leichtgewicht/ip-codec": { + "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==", - "dev": true + "dev": true, + "license": "MIT" }, - "@nicolo-ribaudo/eslint-scope-5-internals": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "eslint-scope": "5.1.1" - }, + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { + "version": "5.1.1", + "dev": true, + "license": "BSD-2-Clause", "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==", - "dev": true, - "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==", - "dev": true - } + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "@nodelib/fs.scandir": { + "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==", - "requires": { + "license": "MIT", + "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "@nodelib/fs.stat": { + "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" + } }, - "@nodelib/fs.walk": { + "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==", - "requires": { + "license": "MIT", + "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, - "@octokit/auth-token": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } }, - "@octokit/core": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@octokit/auth-token": "^3.0.0", "@octokit/graphql": "^5.0.0", "@octokit/request": "^6.0.0", @@ -3715,80 +4140,100 @@ "@octokit/types": "^9.0.0", "before-after-hook": "^2.2.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" } }, - "@octokit/endpoint": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@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 - } + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/endpoint/node_modules/is-plain-object": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "@octokit/graphql": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@octokit/request": "^6.0.0", "@octokit/types": "^9.0.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" } }, - "@octokit/openapi-types": { + "node_modules/@octokit/openapi-types": { "version": "18.1.1", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.1.1.tgz", - "integrity": "sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==", - "dev": true + "dev": true, + "license": "MIT" }, - "@octokit/plugin-paginate-rest": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@octokit/tsconfig": "^1.0.2", "@octokit/types": "^9.2.3" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": ">=4" } }, - "@octokit/plugin-retry": { + "node_modules/@octokit/plugin-retry": { "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-4.1.6.tgz", - "integrity": "sha512-obkYzIgEC75r8+9Pnfiiqy3y/x1bc3QLE5B7qvv9wi9Kj0R5tGQFC6QMBg1154WQ9lAVypuQDGyp3hNpp15gQQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@octokit/types": "^9.0.0", "bottleneck": "^2.15.3" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": ">=3" } }, - "@octokit/plugin-throttling": { + "node_modules/@octokit/plugin-throttling": { "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-5.2.3.tgz", - "integrity": "sha512-C9CFg9mrf6cugneKiaI841iG8DOv6P5XXkjmiNNut+swePxQ7RWEdAZRp5rJoE1hjsIqiYcKa/ZkOQ+ujPI39Q==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@octokit/types": "^9.0.0", "bottleneck": "^2.15.3" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": "^4.0.0" } }, - "@octokit/request": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@octokit/endpoint": "^7.0.0", "@octokit/request-error": "^3.0.0", "@octokit/types": "^9.0.0", @@ -3796,54 +4241,49 @@ "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 - } + "engines": { + "node": ">= 14" } }, - "@octokit/request-error": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@octokit/types": "^9.0.0", "deprecation": "^2.0.0", "once": "^1.4.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/request/node_modules/is-plain-object": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "@octokit/tsconfig": { + "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 + "dev": true, + "license": "MIT" }, - "@octokit/types": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@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==", - "dev": true, - "optional": true - }, - "@pmmmwh/react-refresh-webpack-plugin": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "ansi-html-community": "^0.0.8", "common-path-prefix": "^3.0.0", "core-js-pure": "^3.23.3", @@ -3854,188 +4294,263 @@ "schema-utils": "^3.0.0", "source-map": "^0.7.3" }, - "dependencies": { - "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" - } + "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 <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 }, - "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 + "type-fest": { + "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==", - "dev": true + "webpack-dev-server": { + "optional": 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" - } + "webpack-hot-middleware": { + "optional": 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 + "webpack-plugin-serve": { + "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 - }, - "@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/@pmmmwh/react-refresh-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", "dev": true, - "requires": { - "graceful-fs": "4.2.10" - }, + "license": "MIT", "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 - } + "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" } }, - "@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/@pmmmwh/react-refresh-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", "dev": true, - "requires": { - "@pnpm/config.env-replace": "^1.1.0", - "@pnpm/network.ca-file": "^1.0.1", - "config-chain": "^1.1.11" + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" } }, - "@polka/url": { - "version": "1.0.0-next.24", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz", - "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==", - "dev": true - }, - "@rescript/react": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@rescript/react/-/react-0.11.0.tgz", - "integrity": "sha512-RzoAO+3cJwXE2D7yodMo4tBO2EkeDYCN/I/Sj/yRweI3S1CY1ZBOF/GMcVtjeIurJJt7KMveqQXTaRrqoGZBBg==" + "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" }, - "@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/@pmmmwh/react-refresh-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.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" } }, - "@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==", + "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/source-map": { + "version": "0.7.4", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "4.2.10" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { + "version": "4.2.10", + "dev": true, + "license": "ISC" + }, + "node_modules/@pnpm/npm-conf": { + "version": "2.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.23", + "dev": true, + "license": "MIT" + }, + "node_modules/@rescript/core": { + "version": "0.7.0", + "license": "MIT", + "peerDependencies": { + "rescript": "^10.1.0 || ^11.0.0" + } + }, + "node_modules/@rescript/react": { + "version": "0.11.0", + "license": "MIT", + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "dev": true, + "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", + "dev": true, + "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" } }, - "@rollup/plugin-replace": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@rollup/pluginutils": "^3.1.0", "magic-string": "^0.25.7" }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace/node_modules/magic-string": { + "version": "0.25.9", + "dev": true, + "license": "MIT", "dependencies": { - "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.8" - } - } + "sourcemap-codec": "^1.4.8" } }, - "@rollup/pluginutils": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@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==", - "dev": true - } + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, - "@rushstack/eslint-patch": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.7.2.tgz", - "integrity": "sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==", - "dev": true + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "dev": true, + "license": "MIT" }, - "@ryyppy/rescript-promise": { + "node_modules/@rushstack/eslint-patch": { + "version": "1.5.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@ryyppy/rescript-promise": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@ryyppy/rescript-promise/-/rescript-promise-2.1.0.tgz", - "integrity": "sha512-+dW6msBrj2Lr2hbEMX+HoWCvN89qVjl94RwbYWJgHQuj8jm/izdPC0YzxgpGoEFdeAEW2sOozoLcYHxT6o5WXQ==" + "license": "MIT" }, - "@semantic-release/changelog": { + "node_modules/@semantic-release/changelog": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.3.tgz", - "integrity": "sha512-dZuR5qByyfe3Y03TpmCvAxCyTnp7r5XwtHRf/8vD9EAn4ZWbavUX8adMtXYzE86EVh0gyLA7lm5yW4IV30XUag==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@semantic-release/error": "^3.0.0", "aggregate-error": "^3.0.0", "fs-extra": "^11.0.0", "lodash": "^4.17.4" + }, + "engines": { + "node": ">=14.17" + }, + "peerDependencies": { + "semantic-release": ">=18.0.0" } }, - "@semantic-release/commit-analyzer": { + "node_modules/@semantic-release/commit-analyzer": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-9.0.2.tgz", - "integrity": "sha512-E+dr6L+xIHZkX4zNMe6Rnwg4YQrWNXK+rNsvwOPpdFppvZO1olE2fIgWhv89TkQErygevbjsZFSIxp+u6w2e5g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "conventional-changelog-angular": "^5.0.0", "conventional-commits-filter": "^2.0.0", "conventional-commits-parser": "^3.2.3", @@ -4044,45 +4559,57 @@ "lodash": "^4.17.4", "micromatch": "^4.0.2" }, + "engines": { + "node": ">=14.17" + }, + "peerDependencies": { + "semantic-release": ">=18.0.0-beta.1" + } + }, + "node_modules/@semantic-release/commit-analyzer/node_modules/conventional-changelog-angular": { + "version": "5.0.13", + "dev": true, + "license": "ISC", "dependencies": { - "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-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": { - "JSONStream": "^1.0.4", - "is-text-path": "^1.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - } - } + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@semantic-release/commit-analyzer/node_modules/conventional-commits-parser": { + "version": "3.2.4", + "dev": true, + "license": "MIT", + "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" } }, - "@semantic-release/error": { + "node_modules/@semantic-release/error": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-3.0.0.tgz", - "integrity": "sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.17" + } }, - "@semantic-release/git": { + "node_modules/@semantic-release/git": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-10.0.1.tgz", - "integrity": "sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@semantic-release/error": "^3.0.0", "aggregate-error": "^3.0.0", "debug": "^4.0.0", @@ -4091,14 +4618,19 @@ "lodash": "^4.17.4", "micromatch": "^4.0.0", "p-reduce": "^2.0.0" + }, + "engines": { + "node": ">=14.17" + }, + "peerDependencies": { + "semantic-release": ">=18.0.0" } }, - "@semantic-release/github": { + "node_modules/@semantic-release/github": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-8.1.0.tgz", - "integrity": "sha512-erR9E5rpdsz0dW1I7785JtndQuMWN/iDcemcptf67tBNOmBUN0b2YNOgcjYUnBpgRpZ5ozfBHrK7Bz+2ets/Dg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@octokit/core": "^4.2.1", "@octokit/plugin-paginate-rest": "^6.1.2", "@octokit/plugin-retry": "^4.1.3", @@ -4117,50 +4649,64 @@ "p-filter": "^2.0.0", "url-join": "^4.0.0" }, + "engines": { + "node": ">=14.17" + }, + "peerDependencies": { + "semantic-release": ">=18.0.0-beta.1" + } + }, + "node_modules/@semantic-release/github/node_modules/agent-base": { + "version": "7.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@semantic-release/github/node_modules/http-proxy-agent": { + "version": "7.0.0", + "dev": true, + "license": "MIT", "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, - "requires": { - "debug": "^4.3.4" - } - }, - "http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, - "requires": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - } - }, - "https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", - "dev": true, - "requires": { - "agent-base": "^7.0.2", - "debug": "4" - } - }, - "mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "dev": true - } + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@semantic-release/github/node_modules/https-proxy-agent": { + "version": "7.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@semantic-release/github/node_modules/mime": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" } }, - "@semantic-release/npm": { + "node_modules/@semantic-release/npm": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-9.0.2.tgz", - "integrity": "sha512-zgsynF6McdzxPnFet+a4iO9HpAlARXOM5adz7VGVCvj0ne8wtL2ZOQoDV2wZPDmdEotDIbVeJjafhelZjs9j6g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@semantic-release/error": "^3.0.0", "aggregate-error": "^3.0.0", "execa": "^5.0.0", @@ -4175,39 +4721,18 @@ "semver": "^7.1.2", "tempy": "^1.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" - } - }, - "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "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 - } + "engines": { + "node": ">=16 || ^14.17" + }, + "peerDependencies": { + "semantic-release": ">=19.0.0" } }, - "@semantic-release/release-notes-generator": { + "node_modules/@semantic-release/release-notes-generator": { "version": "10.0.3", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-10.0.3.tgz", - "integrity": "sha512-k4x4VhIKneOWoBGHkx0qZogNjCldLPRiAjnIpMnlUh6PtaWXp/T+C9U7/TaNDDtgDa5HMbHl4WlREdxHio6/3w==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "conventional-changelog-angular": "^5.0.0", "conventional-changelog-writer": "^5.0.0", "conventional-commits-filter": "^2.0.0", @@ -4219,836 +4744,910 @@ "lodash": "^4.17.4", "read-pkg-up": "^7.0.0" }, + "engines": { + "node": ">=14.17" + }, + "peerDependencies": { + "semantic-release": ">=18.0.0-beta.1" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/conventional-changelog-angular": { + "version": "5.0.13", + "dev": true, + "license": "ISC", "dependencies": { - "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-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": { - "JSONStream": "^1.0.4", - "is-text-path": "^1.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - } - } + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/conventional-commits-parser": { + "version": "3.2.4", + "dev": true, + "license": "MIT", + "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" + } + }, + "node_modules/@sentry-internal/tracing": { + "version": "7.77.0", + "license": "MIT", + "dependencies": { + "@sentry/core": "7.77.0", + "@sentry/types": "7.77.0", + "@sentry/utils": "7.77.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/browser": { + "version": "7.77.0", + "license": "MIT", + "dependencies": { + "@sentry-internal/tracing": "7.77.0", + "@sentry/core": "7.77.0", + "@sentry/replay": "7.77.0", + "@sentry/types": "7.77.0", + "@sentry/utils": "7.77.0" + }, + "engines": { + "node": ">=8" } }, - "@sentry-internal/feedback": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.105.0.tgz", - "integrity": "sha512-17doUQFKYgLfG7EmZXjZQ7HR/aBzuLDd+GVaCNthUPyiz/tltV7EFECDWwHpXqzQgYRgroSbY8PruMVujFGUUw==", - "requires": { - "@sentry/core": "7.105.0", - "@sentry/types": "7.105.0", - "@sentry/utils": "7.105.0" - } - }, - "@sentry-internal/replay-canvas": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.105.0.tgz", - "integrity": "sha512-XMBdkjIDhap5Gwrub5wlUJhuUVJM4aL4lZV8KcxJZZSXgXsnyGYbEh9SPZOHO05jtbxTxVeL3Pik5qtYjdGnPA==", - "requires": { - "@sentry/core": "7.105.0", - "@sentry/replay": "7.105.0", - "@sentry/types": "7.105.0", - "@sentry/utils": "7.105.0" - } - }, - "@sentry-internal/tracing": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.105.0.tgz", - "integrity": "sha512-b+AFYB7Bc9vmyxl2jbmuT4esX5G0oPfpz35A0sxFzmJIhvMg1YMDNio2c81BtKN+VSPORCnKMLhfk3kyKKvWMQ==", - "requires": { - "@sentry/core": "7.105.0", - "@sentry/types": "7.105.0", - "@sentry/utils": "7.105.0" - } - }, - "@sentry/babel-plugin-component-annotate": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-2.14.2.tgz", - "integrity": "sha512-mFBVnIZmdMrpxo61rG5yf0WFt5VrRpy8cpIpJtT3mYkX9vDmcUZaZaD1ctv73iZF3QwaieVdn05Na5mWzZ8h/A==" - }, - "@sentry/browser": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.105.0.tgz", - "integrity": "sha512-OlYJzsZG109T1VpZ7O7KXf9IXCUUpp41lkkQM7ICBOBsfiHRUKmV5piTGCG5UgAvyb/gI/I1uQQtO4jthcHKEA==", - "requires": { - "@sentry-internal/feedback": "7.105.0", - "@sentry-internal/replay-canvas": "7.105.0", - "@sentry-internal/tracing": "7.105.0", - "@sentry/core": "7.105.0", - "@sentry/replay": "7.105.0", - "@sentry/types": "7.105.0", - "@sentry/utils": "7.105.0" - } - }, - "@sentry/bundler-plugin-core": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/@sentry/bundler-plugin-core/-/bundler-plugin-core-2.14.2.tgz", - "integrity": "sha512-HgOFWYdq87lSmeVW1w8K2Vf2DGzRPvKzHTajZYLTPlrZ1jbajq9vwuqhrJ9AnDkjl0mjyzSPEy3ZTeG1Z7uRNA==", - "requires": { - "@babel/core": "7.18.5", - "@sentry/babel-plugin-component-annotate": "2.14.2", - "@sentry/cli": "^2.22.3", + "node_modules/@sentry/bundler-plugin-core": { + "version": "2.9.0", + "license": "MIT", + "dependencies": { + "@sentry/cli": "^2.21.2", + "@sentry/node": "^7.60.0", + "@sentry/utils": "^7.60.0", "dotenv": "^16.3.1", "find-up": "5.0.0", "glob": "9.3.2", "magic-string": "0.27.0", "unplugin": "1.0.1" + }, + "engines": { + "node": ">= 14" } }, - "@sentry/cli": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.29.1.tgz", - "integrity": "sha512-STtuGm8vdR4ifR3I6mFmt9y7Dk9QzeOvpyXEG5H7dkFDSvU7cepkYAlli5QiZDzECngxGx/uLAzZzFKSATF1Qw==", - "requires": { - "@sentry/cli-darwin": "2.29.1", - "@sentry/cli-linux-arm": "2.29.1", - "@sentry/cli-linux-arm64": "2.29.1", - "@sentry/cli-linux-i686": "2.29.1", - "@sentry/cli-linux-x64": "2.29.1", - "@sentry/cli-win32-i686": "2.29.1", - "@sentry/cli-win32-x64": "2.29.1", + "node_modules/@sentry/cli": { + "version": "2.21.2", + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { "https-proxy-agent": "^5.0.0", "node-fetch": "^2.6.7", "progress": "^2.0.3", "proxy-from-env": "^1.1.0", "which": "^2.0.2" + }, + "bin": { + "sentry-cli": "bin/sentry-cli" + }, + "engines": { + "node": ">= 10" } }, - "@sentry/cli-darwin": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.29.1.tgz", - "integrity": "sha512-FfYkME4stq6q1sWWsxFAjTa1pxc+GV+HTHYcnajqU+X0rQReoOvFvi00AHua1qKy8+lH5/RgEvMJcDBdoa0h3A==", - "optional": true - }, - "@sentry/cli-linux-arm": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.29.1.tgz", - "integrity": "sha512-lqOsmAVVgRYZzNyGQA1jnmALx0LnZ/Z7zc8/2TFrQYT7FUps5FP3yDDKlsUTaB8Z8A0++k7AqFgwlIeJw7+mPQ==", - "optional": true - }, - "@sentry/cli-linux-arm64": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.29.1.tgz", - "integrity": "sha512-xcwNMJDC10kbi7T1kXRtZCMfgBtD3qLRgYEHJR0UuTONF+pF80uacdde+7oABW+rA3jy2G+4+cR5pN9M2x8wGQ==", - "optional": true + "node_modules/@sentry/core": { + "version": "7.77.0", + "license": "MIT", + "dependencies": { + "@sentry/types": "7.77.0", + "@sentry/utils": "7.77.0" + }, + "engines": { + "node": ">=8" + } }, - "@sentry/cli-linux-i686": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.29.1.tgz", - "integrity": "sha512-yOe7YEx42vl0Q8MgkbQmLbRe2KjijjMP+l9DYAfbOJHdTJ+3tNfBcRqFXsVNiobGxUeaVE5oDkOJ+7iGGgM2HA==", - "optional": true + "node_modules/@sentry/node": { + "version": "7.77.0", + "license": "MIT", + "dependencies": { + "@sentry-internal/tracing": "7.77.0", + "@sentry/core": "7.77.0", + "@sentry/types": "7.77.0", + "@sentry/utils": "7.77.0", + "https-proxy-agent": "^5.0.0" + }, + "engines": { + "node": ">=8" + } }, - "@sentry/cli-linux-x64": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.29.1.tgz", - "integrity": "sha512-fzKh/lRwzZSb+QIebuWN9qXXABGarsL9V2xONGwWv202AueK0WFxr6/ADsE7OlmM/4cDby5Sd+oMKos2eeVcVA==", - "optional": true + "node_modules/@sentry/react": { + "version": "7.77.0", + "license": "MIT", + "dependencies": { + "@sentry/browser": "7.77.0", + "@sentry/types": "7.77.0", + "@sentry/utils": "7.77.0", + "hoist-non-react-statics": "^3.3.2" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": "15.x || 16.x || 17.x || 18.x" + } }, - "@sentry/cli-win32-i686": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.29.1.tgz", - "integrity": "sha512-qdzg2nCSLfMgwhH7HLb6nPngJgbDvcOfDPtF+Y7axoe18iiQW0Ju7M9/e30t8vaOcUz9ZowQgFvxdgYlHJ3jMw==", - "optional": true + "node_modules/@sentry/replay": { + "version": "7.77.0", + "license": "MIT", + "dependencies": { + "@sentry-internal/tracing": "7.77.0", + "@sentry/core": "7.77.0", + "@sentry/types": "7.77.0", + "@sentry/utils": "7.77.0" + }, + "engines": { + "node": ">=12" + } }, - "@sentry/cli-win32-x64": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.29.1.tgz", - "integrity": "sha512-CtGuRmwJ06WVMyVOq/Oa0l/1fI7rSAxcAlCzVAvj1p09aLXAGObGXmljXUeQ1jxE/Ll4yRAo9TjA8Y+vxPtkJw==", - "optional": true + "node_modules/@sentry/types": { + "version": "7.77.0", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "@sentry/core": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.105.0.tgz", - "integrity": "sha512-5xsaTG6jZincTeJUmZomlv20mVRZUEF1U/g89lmrSOybyk2+opEnB1JeBn4ODwnvmSik8r2QLr6/RiYlaxRJCg==", - "requires": { - "@sentry/types": "7.105.0", - "@sentry/utils": "7.105.0" - } - }, - "@sentry/react": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry/react/-/react-7.105.0.tgz", - "integrity": "sha512-t9MXmMC6lNv8Hj+eng6ZQg9UdrmOeds8yh2382d/yOcdLR3yFA/JVga1BiR/P9D/26Y6YVE8DgTcn8gz4xKngg==", - "requires": { - "@sentry/browser": "7.105.0", - "@sentry/core": "7.105.0", - "@sentry/types": "7.105.0", - "@sentry/utils": "7.105.0", - "hoist-non-react-statics": "^3.3.2" + "node_modules/@sentry/utils": { + "version": "7.77.0", + "license": "MIT", + "dependencies": { + "@sentry/types": "7.77.0" + }, + "engines": { + "node": ">=8" } }, - "@sentry/replay": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.105.0.tgz", - "integrity": "sha512-hZD2m6fNL9gorUOaaEpqxeH7zNP4y2Ej0TdieM1HMQ2q9Zrm9yOzk9/7ALfbRLIZFRMFTqo9vvVztLs3E+Hx+g==", - "requires": { - "@sentry-internal/tracing": "7.105.0", - "@sentry/core": "7.105.0", - "@sentry/types": "7.105.0", - "@sentry/utils": "7.105.0" - } - }, - "@sentry/types": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.105.0.tgz", - "integrity": "sha512-80o0KMVM+X2Ym9hoQxvJetkJJwkpCg7o6tHHFXI+Rp7fawc2iCMTa0IRQMUiSkFvntQLYIdDoNNuKdzz2PbQGA==" - }, - "@sentry/utils": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.105.0.tgz", - "integrity": "sha512-YVAV0c2KLM8+VZCicQ/E/P2+J9Vs0hGhrXwV7w6ZEAtvxrg4oF270toL1WRhvcaf8JO4J1v4V+LuU6Txs4uEeQ==", - "requires": { - "@sentry/types": "7.105.0" - } - }, - "@sentry/webpack-plugin": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/@sentry/webpack-plugin/-/webpack-plugin-2.14.2.tgz", - "integrity": "sha512-BEWF5qerGG/xX0ixEOCYh9gCkc+FHDzXxRMCFkM8yQNGH361ELF578KtuoZxXDy0kWa9QGZxSoP6/HZSnJEF9A==", - "requires": { - "@sentry/bundler-plugin-core": "2.14.2", + "node_modules/@sentry/webpack-plugin": { + "version": "2.9.0", + "license": "MIT", + "dependencies": { + "@sentry/bundler-plugin-core": "2.9.0", "unplugin": "1.0.1", "uuid": "^9.0.0" }, - "dependencies": { - "uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" - } + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "webpack": ">=4.40.0" + } + }, + "node_modules/@sentry/webpack-plugin/node_modules/uuid": { + "version": "9.0.1", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" } }, - "@sinclair/typebox": { + "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 + "dev": true, + "license": "MIT" }, - "@sinonjs/commons": { + "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, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "type-detect": "4.0.8" } }, - "@sinonjs/fake-timers": { + "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==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "@sinonjs/commons": "^1.7.0" } }, - "@smithy/abort-controller": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.3.tgz", - "integrity": "sha512-c2aYH2Wu1RVE3rLlVgg2kQOBJGM0WbjReQi5DnPTm2Zb7F0gk7J2aeQeaX2u/lQZoHl6gv8Oac7mt9alU3+f4A==", - "requires": { - "@smithy/types": "^2.10.1", + "node_modules/@smithy/abort-controller": { + "version": "2.0.12", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/chunked-blob-reader": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.1.1.tgz", - "integrity": "sha512-NjNFCKxC4jVvn+lUr3Yo4/PmUJj3tbyqH6GNHueyTGS5Q27vlEJ1MkNhUDV8QGxJI7Bodnc2pD18lU2zRfhHlQ==", - "requires": { + "node_modules/@smithy/chunked-blob-reader": { + "version": "2.0.0", + "license": "Apache-2.0", + "dependencies": { "tslib": "^2.5.0" } }, - "@smithy/chunked-blob-reader-native": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.1.1.tgz", - "integrity": "sha512-zNW+43dltfNMUrBEYLMWgI8lQr0uhtTcUyxkgC9EP4j17WREzgSFMPUFVrVV6Rc2+QtWERYjb4tzZnQGa7R9fQ==", - "requires": { - "@smithy/util-base64": "^2.1.1", + "node_modules/@smithy/chunked-blob-reader-native": { + "version": "2.0.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-base64": "^2.0.0", "tslib": "^2.5.0" } }, - "@smithy/config-resolver": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.4.tgz", - "integrity": "sha512-AW2WUZmBAzgO3V3ovKtsUbI3aBNMeQKFDumoqkNxaVDWF/xfnxAWqBKDr/NuG7c06N2Rm4xeZLPiJH/d+na0HA==", - "requires": { - "@smithy/node-config-provider": "^2.2.4", - "@smithy/types": "^2.10.1", - "@smithy/util-config-provider": "^2.2.1", - "@smithy/util-middleware": "^2.1.3", + "node_modules/@smithy/config-resolver": { + "version": "2.0.16", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^2.1.3", + "@smithy/types": "^2.4.0", + "@smithy/util-config-provider": "^2.0.0", + "@smithy/util-middleware": "^2.0.5", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/core": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.5.tgz", - "integrity": "sha512-Rrc+e2Jj6Gu7Xbn0jvrzZlSiP2CZocIOfZ9aNUA82+1sa6GBnxqL9+iZ9EKHeD9aqD1nU8EK4+oN2EiFpSv7Yw==", - "requires": { - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/middleware-retry": "^2.1.4", - "@smithy/middleware-serde": "^2.1.3", - "@smithy/protocol-http": "^3.2.1", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/util-middleware": "^2.1.3", + "node_modules/@smithy/credential-provider-imds": { + "version": "2.0.18", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^2.1.3", + "@smithy/property-provider": "^2.0.13", + "@smithy/types": "^2.4.0", + "@smithy/url-parser": "^2.0.12", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/credential-provider-imds": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.4.tgz", - "integrity": "sha512-DdatjmBZQnhGe1FhI8gO98f7NmvQFSDiZTwC3WMvLTCKQUY+Y1SVkhJqIuLu50Eb7pTheoXQmK+hKYUgpUWsNA==", - "requires": { - "@smithy/node-config-provider": "^2.2.4", - "@smithy/property-provider": "^2.1.3", - "@smithy/types": "^2.10.1", - "@smithy/url-parser": "^2.1.3", + "node_modules/@smithy/eventstream-codec": { + "version": "2.0.12", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/crc32": "3.0.0", + "@smithy/types": "^2.4.0", + "@smithy/util-hex-encoding": "^2.0.0", "tslib": "^2.5.0" } }, - "@smithy/eventstream-codec": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.3.tgz", - "integrity": "sha512-rGlCVuwSDv6qfKH4/lRxFjcZQnIE0LZ3D4lkMHg7ZSltK9rA74r0VuGSvWVQ4N/d70VZPaniFhp4Z14QYZsa+A==", - "requires": { - "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^2.10.1", - "@smithy/util-hex-encoding": "^2.1.1", + "node_modules/@smithy/eventstream-serde-browser": { + "version": "2.0.12", + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-serde-universal": "^2.0.12", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/eventstream-serde-browser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.1.3.tgz", - "integrity": "sha512-qAgKbZ9m2oBfSyJWWurX/MvQFRPrYypj79cDSleEgDwBoez6Tfd+FTpu2L/j3ZeC3mDlDHIKWksoeaXZpLLAHw==", - "requires": { - "@smithy/eventstream-serde-universal": "^2.1.3", - "@smithy/types": "^2.10.1", + "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "2.0.12", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/eventstream-serde-config-resolver": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.1.3.tgz", - "integrity": "sha512-48rvsNv/MgAFCxOE0qwR7ZwKhaEdDoTxqH5HM+T6SDxICmPGb7gEuQzjTxQhcieCPgqyXeZFW8cU0QJxdowuIg==", - "requires": { - "@smithy/types": "^2.10.1", + "node_modules/@smithy/eventstream-serde-node": { + "version": "2.0.12", + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-serde-universal": "^2.0.12", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/eventstream-serde-node": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.1.3.tgz", - "integrity": "sha512-RPJWWDhj8isk3NtGfm3Xt1WdHyX9ZE42V+m1nLU1I0zZ1hEol/oawHsTnhva/VR5bn+bJ2zscx+BYr0cEPRtmg==", - "requires": { - "@smithy/eventstream-serde-universal": "^2.1.3", - "@smithy/types": "^2.10.1", + "node_modules/@smithy/eventstream-serde-universal": { + "version": "2.0.12", + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-codec": "^2.0.12", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/eventstream-serde-universal": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.1.3.tgz", - "integrity": "sha512-ssvSMk1LX2jRhiOVgVLGfNJXdB8SvyjieKcJDHq698Gi3LOog6g/+l7ggrN+hZxyjUiDF4cUxgKaZTBUghzhLw==", - "requires": { - "@smithy/eventstream-codec": "^2.1.3", - "@smithy/types": "^2.10.1", + "node_modules/@smithy/fetch-http-handler": { + "version": "2.2.4", + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^3.0.8", + "@smithy/querystring-builder": "^2.0.12", + "@smithy/types": "^2.4.0", + "@smithy/util-base64": "^2.0.0", "tslib": "^2.5.0" } }, - "@smithy/fetch-http-handler": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.3.tgz", - "integrity": "sha512-Fn/KYJFo6L5I4YPG8WQb2hOmExgRmNpVH5IK2zU3JKrY5FKW7y9ar5e0BexiIC9DhSKqKX+HeWq/Y18fq7Dkpw==", - "requires": { - "@smithy/protocol-http": "^3.2.1", - "@smithy/querystring-builder": "^2.1.3", - "@smithy/types": "^2.10.1", - "@smithy/util-base64": "^2.1.1", + "node_modules/@smithy/hash-blob-browser": { + "version": "2.0.12", + "license": "Apache-2.0", + "dependencies": { + "@smithy/chunked-blob-reader": "^2.0.0", + "@smithy/chunked-blob-reader-native": "^2.0.0", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" } }, - "@smithy/hash-blob-browser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.1.3.tgz", - "integrity": "sha512-sHLTM5xQYw5Wxz07DFo+eh1PVC6P5+kazQRF1k5nsvOhZG5VnkIy4LZ7N0ZNWqJx16g9otGd5MvqUOpb3WWtgA==", - "requires": { - "@smithy/chunked-blob-reader": "^2.1.1", - "@smithy/chunked-blob-reader-native": "^2.1.1", - "@smithy/types": "^2.10.1", + "node_modules/@smithy/hash-node": { + "version": "2.0.12", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.4.0", + "@smithy/util-buffer-from": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/hash-node": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.3.tgz", - "integrity": "sha512-FsAPCUj7VNJIdHbSxMd5uiZiF20G2zdSDgrgrDrHqIs/VMxK85Vqk5kMVNNDMCZmMezp6UKnac0B4nAyx7HJ9g==", - "requires": { - "@smithy/types": "^2.10.1", - "@smithy/util-buffer-from": "^2.1.1", - "@smithy/util-utf8": "^2.1.1", + "node_modules/@smithy/hash-stream-node": { + "version": "2.0.12", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.4.0", + "@smithy/util-utf8": "^2.0.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/hash-stream-node": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.1.3.tgz", - "integrity": "sha512-fWpUx2ca/u5lcD5RhNJogEG5FD7H0RDDpYmfQgxFqIUv3Ow7bZsapMukh8uzQPVO8R+NDAvSdxmgXoy4Hz8sFw==", - "requires": { - "@smithy/types": "^2.10.1", - "@smithy/util-utf8": "^2.1.1", + "node_modules/@smithy/invalid-dependency": { + "version": "2.0.12", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" } }, - "@smithy/invalid-dependency": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.3.tgz", - "integrity": "sha512-wkra7d/G4CbngV4xsjYyAYOvdAhahQje/WymuQdVEnXFExJopEu7fbL5AEAlBPgWHXwu94VnCSG00gVzRfExyg==", - "requires": { - "@smithy/types": "^2.10.1", + "node_modules/@smithy/is-array-buffer": { + "version": "2.0.0", + "license": "Apache-2.0", + "dependencies": { "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/is-array-buffer": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz", - "integrity": "sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ==", - "requires": { + "node_modules/@smithy/md5-js": { + "version": "2.0.12", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.4.0", + "@smithy/util-utf8": "^2.0.0", "tslib": "^2.5.0" } }, - "@smithy/md5-js": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.1.3.tgz", - "integrity": "sha512-zmn3M6+mP4IJlSmXBN9964AztgkIO8b5lRzAgdJn9AdCFwA6xLkcW2B6uEnpBjvotxtQMmXTUP19tIO7NmFPpw==", - "requires": { - "@smithy/types": "^2.10.1", - "@smithy/util-utf8": "^2.1.1", + "node_modules/@smithy/middleware-content-length": { + "version": "2.0.14", + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^3.0.8", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/middleware-content-length": { + "node_modules/@smithy/middleware-endpoint": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.3.tgz", - "integrity": "sha512-aJduhkC+dcXxdnv5ZpM3uMmtGmVFKx412R1gbeykS5HXDmRU6oSsyy2SoHENCkfOGKAQOjVE2WVqDJibC0d21g==", - "requires": { - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", + "license": "Apache-2.0", + "dependencies": { + "@smithy/middleware-serde": "^2.0.12", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.2.2", + "@smithy/types": "^2.4.0", + "@smithy/url-parser": "^2.0.12", + "@smithy/util-middleware": "^2.0.5", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/middleware-endpoint": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.4.tgz", - "integrity": "sha512-4yjHyHK2Jul4JUDBo2sTsWY9UshYUnXeb/TAK/MTaPEb8XQvDmpwSFnfIRDU45RY1a6iC9LCnmJNg/yHyfxqkw==", - "requires": { - "@smithy/middleware-serde": "^2.1.3", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/shared-ini-file-loader": "^2.3.4", - "@smithy/types": "^2.10.1", - "@smithy/url-parser": "^2.1.3", - "@smithy/util-middleware": "^2.1.3", - "tslib": "^2.5.0" - } - }, - "@smithy/middleware-retry": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.4.tgz", - "integrity": "sha512-Cyolv9YckZTPli1EkkaS39UklonxMd08VskiuMhURDjC0HHa/AD6aK/YoD21CHv9s0QLg0WMLvk9YeLTKkXaFQ==", - "requires": { - "@smithy/node-config-provider": "^2.2.4", - "@smithy/protocol-http": "^3.2.1", - "@smithy/service-error-classification": "^2.1.3", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/util-middleware": "^2.1.3", - "@smithy/util-retry": "^2.1.3", + "node_modules/@smithy/middleware-retry": { + "version": "2.0.18", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^2.1.3", + "@smithy/protocol-http": "^3.0.8", + "@smithy/service-error-classification": "^2.0.5", + "@smithy/types": "^2.4.0", + "@smithy/util-middleware": "^2.0.5", + "@smithy/util-retry": "^2.0.5", "tslib": "^2.5.0", "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/middleware-serde": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.3.tgz", - "integrity": "sha512-s76LId+TwASrHhUa9QS4k/zeXDUAuNuddKklQzRgumbzge5BftVXHXIqL4wQxKGLocPwfgAOXWx+HdWhQk9hTg==", - "requires": { - "@smithy/types": "^2.10.1", + "node_modules/@smithy/middleware-serde": { + "version": "2.0.12", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/middleware-stack": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.3.tgz", - "integrity": "sha512-opMFufVQgvBSld/b7mD7OOEBxF6STyraVr1xel1j0abVILM8ALJvRoFbqSWHGmaDlRGIiV9Q5cGbWi0sdiEaLQ==", - "requires": { - "@smithy/types": "^2.10.1", + "node_modules/@smithy/middleware-stack": { + "version": "2.0.6", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/node-config-provider": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.4.tgz", - "integrity": "sha512-nqazHCp8r4KHSFhRQ+T0VEkeqvA0U+RhehBSr1gunUuNW3X7j0uDrWBxB2gE9eutzy6kE3Y7L+Dov/UXT871vg==", - "requires": { - "@smithy/property-provider": "^2.1.3", - "@smithy/shared-ini-file-loader": "^2.3.4", - "@smithy/types": "^2.10.1", + "node_modules/@smithy/node-config-provider": { + "version": "2.1.3", + "license": "Apache-2.0", + "dependencies": { + "@smithy/property-provider": "^2.0.13", + "@smithy/shared-ini-file-loader": "^2.2.2", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/node-http-handler": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.4.1.tgz", - "integrity": "sha512-HCkb94soYhJMxPCa61wGKgmeKpJ3Gftx1XD6bcWEB2wMV1L9/SkQu/6/ysKBnbOzWRE01FGzwrTxucHypZ8rdg==", - "requires": { - "@smithy/abort-controller": "^2.1.3", - "@smithy/protocol-http": "^3.2.1", - "@smithy/querystring-builder": "^2.1.3", - "@smithy/types": "^2.10.1", + "node_modules/@smithy/node-http-handler": { + "version": "2.1.8", + "license": "Apache-2.0", + "dependencies": { + "@smithy/abort-controller": "^2.0.12", + "@smithy/protocol-http": "^3.0.8", + "@smithy/querystring-builder": "^2.0.12", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/property-provider": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.3.tgz", - "integrity": "sha512-bMz3se+ySKWNrgm7eIiQMa2HO/0fl2D0HvLAdg9pTMcpgp4SqOAh6bz7Ik6y7uQqSrk4rLjIKgbQ6yzYgGehCQ==", - "requires": { - "@smithy/types": "^2.10.1", + "node_modules/@smithy/property-provider": { + "version": "2.0.13", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/protocol-http": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.2.1.tgz", - "integrity": "sha512-KLrQkEw4yJCeAmAH7hctE8g9KwA7+H2nSJwxgwIxchbp/L0B5exTdOQi9D5HinPLlothoervGmhpYKelZ6AxIA==", - "requires": { - "@smithy/types": "^2.10.1", + "node_modules/@smithy/protocol-http": { + "version": "3.0.8", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/querystring-builder": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.3.tgz", - "integrity": "sha512-kFD3PnNqKELe6m9GRHQw/ftFFSZpnSeQD4qvgDB6BQN6hREHELSosVFUMPN4M3MDKN2jAwk35vXHLoDrNfKu0A==", - "requires": { - "@smithy/types": "^2.10.1", - "@smithy/util-uri-escape": "^2.1.1", + "node_modules/@smithy/querystring-builder": { + "version": "2.0.12", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.4.0", + "@smithy/util-uri-escape": "^2.0.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/querystring-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.3.tgz", - "integrity": "sha512-3+CWJoAqcBMR+yvz6D+Fc5VdoGFtfenW6wqSWATWajrRMGVwJGPT3Vy2eb2bnMktJc4HU4bpjeovFa566P3knQ==", - "requires": { - "@smithy/types": "^2.10.1", + "node_modules/@smithy/querystring-parser": { + "version": "2.0.12", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/service-error-classification": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.3.tgz", - "integrity": "sha512-iUrpSsem97bbXHHT/v3s7vaq8IIeMo6P6cXdeYHrx0wOJpMeBGQF7CB0mbJSiTm3//iq3L55JiEm8rA7CTVI8A==", - "requires": { - "@smithy/types": "^2.10.1" - } - }, - "@smithy/shared-ini-file-loader": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.4.tgz", - "integrity": "sha512-CiZmPg9GeDKbKmJGEFvJBsJcFnh0AQRzOtQAzj1XEa8N/0/uSN/v1LYzgO7ry8hhO8+9KB7+DhSW0weqBra4Aw==", - "requires": { - "@smithy/types": "^2.10.1", + "node_modules/@smithy/service-error-classification": { + "version": "2.0.5", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "2.2.2", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/signature-v4": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.3.tgz", - "integrity": "sha512-Jq4iPPdCmJojZTsPePn4r1ULShh6ONkokLuxp1Lnk4Sq7r7rJp4HlA1LbPBq4bD64TIzQezIpr1X+eh5NYkNxw==", - "requires": { - "@smithy/eventstream-codec": "^2.1.3", - "@smithy/is-array-buffer": "^2.1.1", - "@smithy/types": "^2.10.1", - "@smithy/util-hex-encoding": "^2.1.1", - "@smithy/util-middleware": "^2.1.3", - "@smithy/util-uri-escape": "^2.1.1", - "@smithy/util-utf8": "^2.1.1", + "node_modules/@smithy/signature-v4": { + "version": "2.0.12", + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-codec": "^2.0.12", + "@smithy/is-array-buffer": "^2.0.0", + "@smithy/types": "^2.4.0", + "@smithy/util-hex-encoding": "^2.0.0", + "@smithy/util-middleware": "^2.0.5", + "@smithy/util-uri-escape": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/smithy-client": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.4.2.tgz", - "integrity": "sha512-ntAFYN51zu3N3mCd95YFcFi/8rmvm//uX+HnK24CRbI6k5Rjackn0JhgKz5zOx/tbNvOpgQIwhSX+1EvEsBLbA==", - "requires": { - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/middleware-stack": "^2.1.3", - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", - "@smithy/util-stream": "^2.1.3", + "node_modules/@smithy/smithy-client": { + "version": "2.1.12", + "license": "Apache-2.0", + "dependencies": { + "@smithy/middleware-stack": "^2.0.6", + "@smithy/types": "^2.4.0", + "@smithy/util-stream": "^2.0.17", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/types": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.10.1.tgz", - "integrity": "sha512-hjQO+4ru4cQ58FluQvKKiyMsFg0A6iRpGm2kqdH8fniyNd2WyanoOsYJfMX/IFLuLxEoW6gnRkNZy1y6fUUhtA==", - "requires": { + "node_modules/@smithy/types": { + "version": "2.4.0", + "license": "Apache-2.0", + "dependencies": { "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/url-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.3.tgz", - "integrity": "sha512-X1NRA4WzK/ihgyzTpeGvI9Wn45y8HmqF4AZ/FazwAv8V203Ex+4lXqcYI70naX9ETqbqKVzFk88W6WJJzCggTQ==", - "requires": { - "@smithy/querystring-parser": "^2.1.3", - "@smithy/types": "^2.10.1", + "node_modules/@smithy/url-parser": { + "version": "2.0.12", + "license": "Apache-2.0", + "dependencies": { + "@smithy/querystring-parser": "^2.0.12", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" } }, - "@smithy/util-base64": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.1.1.tgz", - "integrity": "sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g==", - "requires": { - "@smithy/util-buffer-from": "^2.1.1", + "node_modules/@smithy/util-base64": { + "version": "2.0.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.0.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/util-body-length-browser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz", - "integrity": "sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag==", - "requires": { + "node_modules/@smithy/util-body-length-browser": { + "version": "2.0.0", + "license": "Apache-2.0", + "dependencies": { "tslib": "^2.5.0" } }, - "@smithy/util-body-length-node": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz", - "integrity": "sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg==", - "requires": { + "node_modules/@smithy/util-body-length-node": { + "version": "2.1.0", + "license": "Apache-2.0", + "dependencies": { "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/util-buffer-from": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz", - "integrity": "sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg==", - "requires": { - "@smithy/is-array-buffer": "^2.1.1", + "node_modules/@smithy/util-buffer-from": { + "version": "2.0.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^2.0.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/util-config-provider": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz", - "integrity": "sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw==", - "requires": { + "node_modules/@smithy/util-config-provider": { + "version": "2.0.0", + "license": "Apache-2.0", + "dependencies": { "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/util-defaults-mode-browser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.4.tgz", - "integrity": "sha512-J6XAVY+/g7jf03QMnvqPyU+8jqGrrtXoKWFVOS+n1sz0Lg8HjHJ1ANqaDN+KTTKZRZlvG8nU5ZrJOUL6VdwgcQ==", - "requires": { - "@smithy/property-provider": "^2.1.3", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "2.0.16", + "license": "Apache-2.0", + "dependencies": { + "@smithy/property-provider": "^2.0.13", + "@smithy/smithy-client": "^2.1.12", + "@smithy/types": "^2.4.0", "bowser": "^2.11.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 10.0.0" } }, - "@smithy/util-defaults-mode-node": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.3.tgz", - "integrity": "sha512-ttUISrv1uVOjTlDa3nznX33f0pthoUlP+4grhTvOzcLhzArx8qHB94/untGACOG3nlf8vU20nI2iWImfzoLkYA==", - "requires": { - "@smithy/config-resolver": "^2.1.4", - "@smithy/credential-provider-imds": "^2.2.4", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/property-provider": "^2.1.3", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", + "node_modules/@smithy/util-defaults-mode-node": { + "version": "2.0.21", + "license": "Apache-2.0", + "dependencies": { + "@smithy/config-resolver": "^2.0.16", + "@smithy/credential-provider-imds": "^2.0.18", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/property-provider": "^2.0.13", + "@smithy/smithy-client": "^2.1.12", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 10.0.0" } }, - "@smithy/util-endpoints": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.4.tgz", - "integrity": "sha512-/qAeHmK5l4yQ4/bCIJ9p49wDe9rwWtOzhPHblu386fwPNT3pxmodgcs9jDCV52yK9b4rB8o9Sj31P/7Vzka1cg==", - "requires": { - "@smithy/node-config-provider": "^2.2.4", - "@smithy/types": "^2.10.1", + "node_modules/@smithy/util-endpoints": { + "version": "1.0.2", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^2.1.3", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@smithy/util-hex-encoding": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz", - "integrity": "sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg==", - "requires": { + "node_modules/@smithy/util-hex-encoding": { + "version": "2.0.0", + "license": "Apache-2.0", + "dependencies": { "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/util-middleware": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.3.tgz", - "integrity": "sha512-/+2fm7AZ2ozl5h8wM++ZP0ovE9/tiUUAHIbCfGfb3Zd3+Dyk17WODPKXBeJ/TnK5U+x743QmA0xHzlSm8I/qhw==", - "requires": { - "@smithy/types": "^2.10.1", + "node_modules/@smithy/util-middleware": { + "version": "2.0.5", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/util-retry": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.3.tgz", - "integrity": "sha512-Kbvd+GEMuozbNUU3B89mb99tbufwREcyx2BOX0X2+qHjq6Gvsah8xSDDgxISDwcOHoDqUWO425F0Uc/QIRhYkg==", - "requires": { - "@smithy/service-error-classification": "^2.1.3", - "@smithy/types": "^2.10.1", + "node_modules/@smithy/util-retry": { + "version": "2.0.5", + "license": "Apache-2.0", + "dependencies": { + "@smithy/service-error-classification": "^2.0.5", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@smithy/util-stream": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.3.tgz", - "integrity": "sha512-HvpEQbP8raTy9n86ZfXiAkf3ezp1c3qeeO//zGqwZdrfaoOpGKQgF2Sv1IqZp7wjhna7pvczWaGUHjcOPuQwKw==", - "requires": { - "@smithy/fetch-http-handler": "^2.4.3", - "@smithy/node-http-handler": "^2.4.1", - "@smithy/types": "^2.10.1", - "@smithy/util-base64": "^2.1.1", - "@smithy/util-buffer-from": "^2.1.1", - "@smithy/util-hex-encoding": "^2.1.1", - "@smithy/util-utf8": "^2.1.1", + "node_modules/@smithy/util-stream": { + "version": "2.0.17", + "license": "Apache-2.0", + "dependencies": { + "@smithy/fetch-http-handler": "^2.2.4", + "@smithy/node-http-handler": "^2.1.8", + "@smithy/types": "^2.4.0", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-buffer-from": "^2.0.0", + "@smithy/util-hex-encoding": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/util-uri-escape": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz", - "integrity": "sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw==", - "requires": { + "node_modules/@smithy/util-uri-escape": { + "version": "2.0.0", + "license": "Apache-2.0", + "dependencies": { "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/util-utf8": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.1.1.tgz", - "integrity": "sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A==", - "requires": { - "@smithy/util-buffer-from": "^2.1.1", + "node_modules/@smithy/util-utf8": { + "version": "2.0.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.0.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@smithy/util-waiter": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.1.3.tgz", - "integrity": "sha512-3R0wNFAQQoH9e4m+bVLDYNOst2qNxtxFgq03WoNHWTBOqQT3jFnOBRj1W51Rf563xDA5kwqjziksxn6RKkHB+Q==", - "requires": { - "@smithy/abort-controller": "^2.1.3", - "@smithy/types": "^2.10.1", + "node_modules/@smithy/util-waiter": { + "version": "2.0.12", + "license": "Apache-2.0", + "dependencies": { + "@smithy/abort-controller": "^2.0.12", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "@surma/rollup-plugin-off-main-thread": { + "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==", "dev": true, - "requires": { + "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/@surma/rollup-plugin-off-main-thread/node_modules/magic-string": { + "version": "0.25.9", + "dev": true, + "license": "MIT", "dependencies": { - "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.8" - } - } + "sourcemap-codec": "^1.4.8" } }, - "@svgr/babel-plugin-add-jsx-attribute": { + "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==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } }, - "@svgr/babel-plugin-remove-jsx-attribute": { + "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==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { + "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==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { + "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==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } }, - "@svgr/babel-plugin-svg-dynamic-title": { + "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==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } }, - "@svgr/babel-plugin-svg-em-dimensions": { + "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==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } }, - "@svgr/babel-plugin-transform-react-native-svg": { + "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==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } }, - "@svgr/babel-plugin-transform-svg-component": { + "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==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } }, - "@svgr/babel-preset": { + "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==", "dev": true, - "requires": { + "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", @@ -5057,93 +5656,128 @@ "@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" } }, - "@svgr/core": { + "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==", "dev": true, - "requires": { + "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/core/node_modules/camelcase": { + "version": "6.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@svgr/core/node_modules/cosmiconfig": { + "version": "7.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "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" - } - } + "@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" } }, - "@svgr/hast-util-to-babel-ast": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "@svgr/plugin-jsx": { + "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==", "dev": true, - "requires": { + "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" } }, - "@svgr/plugin-svgo": { + "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==", "dev": true, - "requires": { + "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/plugin-svgo/node_modules/cosmiconfig": { + "version": "7.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "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" - } - } + "@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" } }, - "@svgr/webpack": { + "node_modules/@svgr/webpack": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/core": "^7.12.3", "@babel/plugin-transform-react-constant-elements": "^7.12.1", "@babel/preset-env": "^7.12.1", @@ -5152,50 +5786,56 @@ "@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" } }, - "@tootallnate/once": { + "node_modules/@tootallnate/once": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } }, - "@trysound/sax": { + "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==", - "dev": true + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } }, - "@tsconfig/node10": { + "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 + "dev": true, + "license": "MIT" }, - "@tsconfig/node12": { + "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 + "dev": true, + "license": "MIT" }, - "@tsconfig/node14": { + "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 + "dev": true, + "license": "MIT" }, - "@tsconfig/node16": { + "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 + "dev": true, + "license": "MIT" }, - "@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==", + "node_modules/@types/babel__core": { + "version": "7.20.3", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", @@ -5203,369 +5843,318 @@ "@types/babel__traverse": "*" } }, - "@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "node_modules/@types/babel__generator": { + "version": "7.6.6", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/types": "^7.0.0" } }, - "@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==", + "node_modules/@types/babel__template": { + "version": "7.4.3", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, - "@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "node_modules/@types/babel__traverse": { + "version": "7.20.3", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/types": "^7.20.7" } }, - "@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==", + "node_modules/@types/body-parser": { + "version": "1.19.4", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/connect": "*", "@types/node": "*" } }, - "@types/bonjour": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "node_modules/@types/bonjour": { + "version": "3.5.12", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/node": "*" } }, - "@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "node_modules/@types/connect": { + "version": "3.4.37", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/node": "*" } }, - "@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.2", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" } }, - "@types/eslint": { - "version": "8.56.5", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.5.tgz", - "integrity": "sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==", - "dev": true, - "requires": { + "node_modules/@types/eslint": { + "version": "8.44.6", + "license": "MIT", + "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, - "@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==", - "dev": true, - "requires": { + "node_modules/@types/eslint-scope": { + "version": "3.7.6", + "license": "MIT", + "dependencies": { "@types/eslint": "*", "@types/estree": "*" } }, - "@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==", - "dev": true + "node_modules/@types/estree": { + "version": "1.0.4", + "license": "MIT" }, - "@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "node_modules/@types/express": { + "version": "4.17.20", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", "@types/serve-static": "*" } }, - "@types/express-serve-static-core": { - "version": "4.17.43", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", - "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", + "node_modules/@types/express-serve-static-core": { + "version": "4.17.39", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/node": "*", "@types/qs": "*", "@types/range-parser": "*", "@types/send": "*" } }, - "@types/glob": { + "node_modules/@types/glob": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/minimatch": "*", "@types/node": "*" } }, - "@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==", + "node_modules/@types/graceful-fs": { + "version": "4.1.8", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/node": "*" } }, - "@types/html-minifier-terser": { + "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==", - "dev": true + "dev": true, + "license": "MIT" }, - "@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/http-errors": { + "version": "2.0.3", + "dev": true, + "license": "MIT" }, - "@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "node_modules/@types/http-proxy": { + "version": "1.17.13", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/node": "*" } }, - "@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-coverage": { + "version": "2.0.5", + "dev": true, + "license": "MIT" }, - "@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==", + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.2", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/istanbul-lib-coverage": "*" } }, - "@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==", + "node_modules/@types/istanbul-reports": { + "version": "3.0.3", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/istanbul-lib-report": "*" } }, - "@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==", - "dev": true + "node_modules/@types/json-schema": { + "version": "7.0.14", + "license": "MIT" }, - "@types/json5": { + "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" }, - "@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/@types/mime": { + "version": "1.3.4", + "dev": true, + "license": "MIT" }, - "@types/minimatch": { + "node_modules/@types/minimatch": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true + "dev": true, + "license": "MIT" }, - "@types/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", - "dev": true + "node_modules/@types/minimist": { + "version": "1.2.4", + "dev": true, + "license": "MIT" }, - "@types/node": { + "node_modules/@types/node": { "version": "20.5.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz", - "integrity": "sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==", - "dev": true + "license": "MIT" }, - "@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "node_modules/@types/node-forge": { + "version": "1.3.8", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/node": "*" } }, - "@types/normalize-package-data": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", - "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", - "dev": true + "node_modules/@types/normalize-package-data": { + "version": "2.4.3", + "dev": true, + "license": "MIT" }, - "@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/@types/parse-json": { + "version": "4.0.1", + "dev": true, + "license": "MIT" }, - "@types/prettier": { + "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 + "dev": true, + "license": "MIT" }, - "@types/q": { - "version": "1.5.8", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", - "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==", - "dev": true + "node_modules/@types/q": { + "version": "1.5.7", + "dev": true, + "license": "MIT" }, - "@types/qs": { - "version": "6.9.12", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.12.tgz", - "integrity": "sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==", - "dev": true + "node_modules/@types/qs": { + "version": "6.9.9", + "dev": true, + "license": "MIT" }, - "@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/@types/range-parser": { + "version": "1.2.6", + "dev": true, + "license": "MIT" }, - "@types/resolve": { + "node_modules/@types/resolve": { "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/node": "*" } }, - "@types/retry": { + "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==", - "dev": true + "dev": true, + "license": "MIT" }, - "@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true + "node_modules/@types/semver": { + "version": "7.5.4", + "dev": true, + "license": "MIT" }, - "@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "node_modules/@types/send": { + "version": "0.17.3", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, - "@types/serve-index": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "node_modules/@types/serve-index": { + "version": "1.9.3", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/express": "*" } }, - "@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==", + "node_modules/@types/serve-static": { + "version": "1.15.4", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/http-errors": "*", "@types/mime": "*", "@types/node": "*" } }, - "@types/sockjs": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "node_modules/@types/sockjs": { + "version": "0.3.35", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/node": "*" } }, - "@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/@types/stack-utils": { + "version": "2.0.2", + "dev": true, + "license": "MIT" }, - "@types/trusted-types": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", - "dev": true + "node_modules/@types/trusted-types": { + "version": "2.0.5", + "dev": true, + "license": "MIT" }, - "@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "node_modules/@types/ws": { + "version": "8.5.8", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/node": "*" } }, - "@types/yargs": { - "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", - "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "node_modules/@types/yargs": { + "version": "16.0.7", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/yargs-parser": "*" } }, - "@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/yargs-parser": { + "version": "21.0.2", + "dev": true, + "license": "MIT" }, - "@typescript-eslint/eslint-plugin": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@eslint-community/regexpp": "^4.4.0", "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/type-utils": "5.62.0", @@ -5577,88 +6166,126 @@ "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.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "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 + "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 } } }, - "@typescript-eslint/experimental-utils": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@typescript-eslint/utils": "5.62.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" } }, - "@typescript-eslint/parser": { + "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, - "requires": { + "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 + } } }, - "@typescript-eslint/scope-manager": { + "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, - "requires": { + "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" } }, - "@typescript-eslint/type-utils": { + "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, - "requires": { + "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 + } } }, - "@typescript-eslint/types": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } }, - "@typescript-eslint/typescript-estree": { + "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, - "requires": { + "license": "BSD-2-Clause", + "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0", "debug": "^4.3.4", @@ -5667,39 +6294,24 @@ "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.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "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 + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true } } }, - "@typescript-eslint/utils": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", @@ -5709,152 +6321,115 @@ "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", + "dev": true, + "license": "BSD-2-Clause", "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==", - "dev": true, - "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==", - "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" - } - }, - "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "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 - } + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "@typescript-eslint/visitor-keys": { + "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, - "requires": { + "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" } }, - "@ungap/structured-clone": { + "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 + "dev": true, + "license": "ISC" }, - "@webassemblyjs/ast": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "@webassemblyjs/floating-point-hex-parser": { + "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 + "license": "MIT" }, - "@webassemblyjs/helper-api-error": { + "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 + "license": "MIT" }, - "@webassemblyjs/helper-buffer": { + "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 + "license": "MIT" }, - "@webassemblyjs/helper-numbers": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", "@xtuc/long": "4.2.2" } }, - "@webassemblyjs/helper-wasm-bytecode": { + "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 + "license": "MIT" }, - "@webassemblyjs/helper-wasm-section": { + "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, - "requires": { + "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" } }, - "@webassemblyjs/ieee754": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, - "@webassemblyjs/leb128": { + "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, - "requires": { + "license": "Apache-2.0", + "dependencies": { "@xtuc/long": "4.2.2" } }, - "@webassemblyjs/utf8": { + "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 + "license": "MIT" }, - "@webassemblyjs/wasm-edit": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -5865,12 +6440,10 @@ "@webassemblyjs/wast-printer": "1.11.6" } }, - "@webassemblyjs/wasm-gen": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", @@ -5878,24 +6451,20 @@ "@webassemblyjs/utf8": "1.11.6" } }, - "@webassemblyjs/wasm-opt": { + "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, - "requires": { + "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" } }, - "@webassemblyjs/wasm-parser": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -5904,584 +6473,673 @@ "@webassemblyjs/utf8": "1.11.6" } }, - "@webassemblyjs/wast-printer": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" } }, - "@webpack-cli/configtest": { + "node_modules/@webpack-cli/configtest": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", - "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", - "dev": true + "dev": true, + "license": "MIT", + "peerDependencies": { + "webpack": "4.x.x || 5.x.x", + "webpack-cli": "4.x.x" + } }, - "@webpack-cli/info": { + "node_modules/@webpack-cli/info": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", - "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "envinfo": "^7.7.3" + }, + "peerDependencies": { + "webpack-cli": "4.x.x" } }, - "@webpack-cli/serve": { + "node_modules/@webpack-cli/serve": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", - "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", - "dev": true + "dev": true, + "license": "MIT", + "peerDependencies": { + "webpack-cli": "4.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } }, - "@xtuc/ieee754": { + "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 + "license": "BSD-3-Clause" }, - "@xtuc/long": { + "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 - }, - "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" - } + "license": "Apache-2.0" }, - "abab": { + "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" }, - "accepts": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" } }, - "acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" + "node_modules/acorn": { + "version": "8.11.2", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, - "acorn-globals": { + "node_modules/acorn-globals": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "acorn": "^7.1.1", "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "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==", - "dev": true - } + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals/node_modules/acorn-walk": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" } }, - "acorn-import-assertions": { + "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" + } }, - "acorn-jsx": { + "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 + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } }, - "acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "dev": true + "node_modules/acorn-walk": { + "version": "8.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } }, - "address": { + "node_modules/address": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } }, - "adjust-sourcemap-loader": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "loader-utils": "^2.0.0", "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" } }, - "agent-base": { + "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==", - "requires": { + "license": "MIT", + "dependencies": { "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "aggregate-error": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "ajv": { + "node_modules/ajv": { "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, - "requires": { + "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-errors": { + "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 + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": ">=5.0.0" + } }, - "ajv-formats": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "ajv-keywords": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" } }, - "ansi-colors": { + "node_modules/ansi-colors": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "ansi-escapes": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "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 - } + "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" } }, - "ansi-html-community": { + "node_modules/ansi-html-community": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } }, - "ansi-regex": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "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" + "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" } }, - "ansicolors": { + "node_modules/ansicolors": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", - "dev": true + "dev": true, + "license": "MIT" }, - "any-promise": { + "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==", - "dev": true + "dev": true, + "license": "MIT" }, - "anymatch": { + "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==", - "requires": { + "license": "ISC", + "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "arg": { + "node_modules/arg": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "dev": true, + "license": "MIT" }, - "argparse": { + "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" }, - "argv-formatter": { + "node_modules/argv-formatter": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz", - "integrity": "sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==", - "dev": true + "dev": true, + "license": "MIT" }, - "aria-query": { + "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==", "dev": true, - "requires": { + "license": "Apache-2.0", + "dependencies": { "dequal": "^2.0.3" } }, - "arr-diff": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "arr-flatten": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "arr-union": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", "dev": true, - "requires": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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-flatten": { + "version": "2.1.2", + "dev": true, + "license": "MIT" }, - "array-ify": { + "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 + "dev": true, + "license": "MIT" }, - "array-includes": { + "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, - "requires": { + "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" } }, - "array-union": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "array-uniq": { + "node_modules/array-uniq": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "array-unique": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "array.prototype.filter": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.3.tgz", - "integrity": "sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==", + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", "es-abstract": "^1.22.1", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - } - }, - "array.prototype.findlast": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.4.tgz", - "integrity": "sha512-BMtLxpV+8BD+6ZPFIWmnUBpQoy+A+ujcg4rhp2iwCRJYA7PEh2MS4NL3lz8EiDlLrJPp2hg9qWihr5pd//jcGw==", - "dev": true, - "requires": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - } - }, - "array.prototype.findlastindex": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.4.tgz", - "integrity": "sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "array.prototype.flat": { + "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, - "requires": { + "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" } }, - "array.prototype.flatmap": { + "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, - "requires": { + "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" } }, - "array.prototype.reduce": { + "node_modules/array.prototype.reduce": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", - "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", "es-abstract": "^1.22.1", "es-array-method-boxes-properly": "^1.0.0", "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "array.prototype.toreversed": { + "node_modules/array.prototype.tosorted": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", - "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.tosorted": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", - "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", - "dev": true, - "requires": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.1.0", - "es-shim-unscopables": "^1.0.2" + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" } }, - "arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", + "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" } }, - "arrify": { + "node_modules/arrify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "asap": { + "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" }, - "assign-symbols": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "ast-types-flow": { + "node_modules/ast-types-flow": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", - "dev": true + "dev": true, + "license": "MIT" }, - "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": { + "version": "3.2.4", + "dev": true, + "license": "MIT" }, - "async-each": { + "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 + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT" }, - "async-limiter": { + "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 + "dev": true, + "license": "MIT" }, - "asynciterator.prototype": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "has-symbols": "^1.0.3" } }, - "asynckit": { + "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 + "dev": true, + "license": "MIT" }, - "at-least-node": { + "node_modules/at-least-node": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } }, - "atob": { + "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 + "dev": true, + "license": "(MIT OR Apache-2.0)", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } }, - "autoprefixer": { - "version": "10.4.18", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.18.tgz", - "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==", + "node_modules/autoprefixer": { + "version": "10.4.16", "dev": true, - "requires": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001591", - "fraction.js": "^4.3.7", + "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" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001538", + "fraction.js": "^4.3.6", "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" } }, - "available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "node_modules/available-typed-arrays": { + "version": "1.0.5", "dev": true, - "requires": { - "possible-typed-array-names": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "axe-core": { + "node_modules/axe-core": { "version": "4.7.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", - "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", - "dev": true + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } }, - "axobject-query": { + "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==", "dev": true, - "requires": { + "license": "Apache-2.0", + "dependencies": { "dequal": "^2.0.3" } }, - "babel-jest": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/transform": "^27.5.1", "@jest/types": "^27.5.1", "@types/babel__core": "^7.1.14", @@ -6491,206 +7149,196 @@ "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==", - "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" - } - } + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "babel-loader": { + "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==", "dev": true, - "requires": { + "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/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", "dependencies": { - "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 - }, - "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 - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/babel-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/babel-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "dev": true, + "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" } }, - "babel-plugin-istanbul": { + "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, - "requires": { + "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" } }, - "babel-plugin-jest-hoist": { + "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==", "dev": true, - "requires": { + "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" } }, - "babel-plugin-macros": { + "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==", "dev": true, - "requires": { + "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-macros/node_modules/cosmiconfig": { + "version": "7.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "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" - } - } + "@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" } }, - "babel-plugin-named-asset-import": { + "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==", - "dev": true + "dev": true, + "license": "MIT", + "peerDependencies": { + "@babel/core": "^7.1.0" + } }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", - "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.6", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.5.0", + "@babel/helper-define-polyfill-provider": "^0.4.3", "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "babel-plugin-polyfill-corejs3": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", - "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.6", "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.5.0", - "core-js-compat": "^3.34.0" + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.33.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "babel-plugin-polyfill-regenerator": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", - "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.3", "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.5.0" + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "babel-plugin-transform-react-remove-prop-types": { + "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==", - "dev": true + "dev": true, + "license": "MIT" }, - "babel-preset-current-node-syntax": { + "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, - "requires": { + "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", @@ -6703,24 +7351,31 @@ "@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" } }, - "babel-preset-jest": { + "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==", "dev": true, - "requires": { + "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" } }, - "babel-preset-react-app": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/core": "^7.16.0", "@babel/plugin-proposal-class-properties": "^7.16.0", "@babel/plugin-proposal-decorators": "^7.16.4", @@ -6739,17 +7394,15 @@ "babel-plugin-transform-react-remove-prop-types": "^0.4.24" } }, - "balanced-match": { + "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" }, - "base": { + "node_modules/base": { "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", "component-emitter": "^1.2.1", @@ -6758,95 +7411,123 @@ "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", + "dev": true, + "license": "MIT", "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" - } - }, - "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, - "requires": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - } - } + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "base64-js": { + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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 + "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" }, - "batch": { + "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==", - "dev": true + "dev": true, + "license": "MIT" }, - "before-after-hook": { + "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 + "dev": true, + "license": "Apache-2.0" }, - "bfj": { + "node_modules/bfj": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", - "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "bluebird": "^3.7.2", "check-types": "^11.2.3", "hoopy": "^0.1.4", "jsonpath": "^1.1.1", "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 8.0.0" } }, - "big.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==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } }, - "binary-extensions": { + "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/bindings": { + "version": "1.5.0", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } }, - "bl": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, - "bluebird": { + "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" }, - "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/body-parser": { + "version": "1.20.1", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "bytes": "3.1.2", - "content-type": "~1.0.5", + "content-type": "~1.0.4", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", @@ -6854,190 +7535,215 @@ "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.11.0", - "raw-body": "2.5.2", + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", "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" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } + "ms": "2.0.0" } }, - "bonjour": { + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/bonjour": { "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "array-flatten": "^2.1.0", "deep-equal": "^1.0.1", "dns-equal": "^1.0.0", "dns-txt": "^2.0.2", "multicast-dns": "^6.0.1", "multicast-dns-service-types": "^1.1.0" - }, - "dependencies": { - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - } } }, - "bonjour-service": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", - "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "node_modules/bonjour-service": { + "version": "1.1.1", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" } }, - "boolbase": { + "node_modules/bonjour/node_modules/dns-packet": { + "version": "1.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/bonjour/node_modules/multicast-dns": { + "version": "6.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "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==", - "dev": true + "dev": true, + "license": "ISC" }, - "bottleneck": { + "node_modules/bottleneck": { "version": "2.19.5", - "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", - "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==", - "dev": true + "dev": true, + "license": "MIT" }, - "bowser": { + "node_modules/bowser": { "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + "license": "MIT" }, - "brace-expansion": { + "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==", - "requires": { + "license": "MIT", + "dependencies": { "balanced-match": "^1.0.0" } }, - "braces": { + "node_modules/braces": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { + "license": "MIT", + "dependencies": { "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "browser-process-hrtime": { + "node_modules/browser-process-hrtime": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "requires": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - } + "dev": true, + "license": "BSD-2-Clause" }, - "bs-fetch": { + "node_modules/browserslist": { + "version": "4.22.1", + "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.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/bs-fetch": { "version": "0.6.2", - "resolved": "https://registry.npmjs.org/bs-fetch/-/bs-fetch-0.6.2.tgz", - "integrity": "sha512-VXEjp8kY3vHPckaoy3d96Bx0KYjJAPLNISBwfpwMN26K6DtuZYwI2HKhx7zeHBajz1bRArfx7O8OOLcdtujMvg==" + "license": "MIT" }, - "bser": { + "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, - "requires": { + "license": "Apache-2.0", + "dependencies": { "node-int64": "^0.4.0" } }, - "buffer": { + "node_modules/buffer": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, - "requires": { + "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" } }, - "buffer-from": { + "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 + "license": "MIT" }, - "buffer-indexof": { + "node_modules/buffer-indexof": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true + "dev": true, + "license": "MIT" }, - "builtin-modules": { + "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==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "bytes": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, - "cache-base": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", "get-value": "^2.0.6", @@ -7047,465 +7753,523 @@ "to-object-path": "^0.3.0", "union-value": "^1.0.0", "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "cachedir": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", - "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", - "dev": true - }, - "call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "node_modules/call-bind": { + "version": "1.0.5", "dev": true, - "requires": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", + "license": "MIT", + "dependencies": { "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "callsites": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "camel-case": { + "node_modules/camel-case": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" } }, - "camelcase": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "camelcase-css": { + "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==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } }, - "camelcase-keys": { + "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, - "requires": { + "license": "MIT", + "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" } }, - "caniuse-api": { + "node_modules/caniuse-api": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", "lodash.memoize": "^4.1.2", "lodash.uniq": "^4.5.0" } }, - "caniuse-lite": { - "version": "1.0.30001594", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001594.tgz", - "integrity": "sha512-VblSX6nYqyJVs8DKFMldE2IVCJjZ225LW00ydtUWwh5hk9IfkTOffO6r8gJNsH0qqqeAF8KrbMYA2VEwTlGW5g==" + "node_modules/caniuse-lite": { + "version": "1.0.30001559", + "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" }, - "cardinal": { + "node_modules/cardinal": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", - "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "ansicolors": "~0.3.2", "redeyed": "~2.1.0" + }, + "bin": { + "cdl": "bin/cdl.js" } }, - "case-sensitive-paths-webpack-plugin": { + "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==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "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" + "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" } }, - "char-regex": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } }, - "chardet": { + "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 + "dev": true, + "license": "MIT" }, - "check-types": { + "node_modules/check-types": { "version": "11.2.3", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", - "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==", - "dev": true + "dev": true, + "license": "MIT" }, - "chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "requires": { + "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", - "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": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "chrome-trace-event": { + "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" + } }, - "ci-info": { + "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 + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "cjs-module-lexer": { + "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" }, - "class-utils": { + "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, - "requires": { + "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/class-utils/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "license": "MIT", "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-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "clean-css": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", - "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "node_modules/clean-css": { + "version": "5.3.2", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" } }, - "clean-stack": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "cli-cursor": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" } }, - "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 + "node_modules/cli-spinners": { + "version": "2.9.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "cli-table3": { + "node_modules/cli-table3": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", "dev": true, - "requires": { - "@colors/colors": "1.5.0", + "license": "MIT", + "dependencies": { "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" } }, - "cli-width": { + "node_modules/cli-width": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 10" + } }, - "cliui": { + "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": { + "license": "ISC", + "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "clone": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } }, - "clone-deep": { + "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==", - "requires": { + "license": "MIT", + "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "co": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } }, - "coa": { + "node_modules/coa": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/q": "^1.5.1", "chalk": "^2.4.1", "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/coa/node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/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" + } + }, + "node_modules/coa/node_modules/color-convert": { + "version": "1.9.3", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/coa/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/coa/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "code-point-at": { + "node_modules/code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "collect-v8-coverage": { + "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" }, - "collection-visit": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.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" + "node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "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/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" }, - "colord": { + "node_modules/colord": { "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "dev": true + "dev": true, + "license": "MIT" }, - "colorette": { + "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" }, - "combined-stream": { + "node_modules/combined-stream": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "commander": { + "node_modules/commander": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - }, - "commitizen": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.3.0.tgz", - "integrity": "sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==", "dev": true, - "requires": { - "cachedir": "2.3.0", - "cz-conventional-changelog": "3.3.0", - "dedent": "0.7.0", - "detect-indent": "6.1.0", - "find-node-modules": "^2.1.2", - "find-root": "1.1.0", - "fs-extra": "9.1.0", - "glob": "7.2.3", - "inquirer": "8.2.5", - "is-utf8": "^0.2.1", - "lodash": "4.17.21", - "minimist": "1.2.7", - "strip-bom": "4.0.0", - "strip-json-comments": "3.1.1" - }, - "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" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "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" - } - }, - "minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", - "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 - } + "license": "MIT", + "engines": { + "node": ">= 10" } }, - "common-path-prefix": { + "node_modules/common-path-prefix": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "dev": true + "dev": true, + "license": "ISC" }, - "common-tags": { + "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==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } }, - "commondir": { + "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" }, - "compare-func": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "array-ify": "^1.0.0", "dot-prop": "^5.1.0" } }, - "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 + "node_modules/component-emitter": { + "version": "1.3.0", + "dev": true, + "license": "MIT" }, - "compressible": { + "node_modules/compressible": { "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" } }, - "compression": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "accepts": "~1.3.5", "bytes": "3.0.0", "compressible": "~2.0.16", @@ -7514,42 +8278,38 @@ "safe-buffer": "5.1.2", "vary": "~1.1.2" }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", "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 - }, - "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 - } + "ms": "2.0.0" } }, - "concat-map": { + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "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" }, - "concurrently": { + "node_modules/concurrently": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-4.1.2.tgz", - "integrity": "sha512-Kim9SFrNr2jd8/0yNYqDTFALzUX1tvimmwFWxmp/D4mRI+kbqIIwE2RkBDrxS2ic25O1UgQMI5AtBqdtX3ynYg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "chalk": "^2.4.2", "date-fns": "^1.30.1", "lodash": "^4.17.15", @@ -7560,304 +8320,419 @@ "tree-kill": "^1.2.1", "yargs": "^12.0.5" }, + "bin": { + "concurrently": "bin/concurrently.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/concurrently/node_modules/ansi-regex": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/concurrently/node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.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" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==", - "dev": true - }, - "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 - }, - "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 - }, - "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" - } - }, - "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" - } - }, - "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" - } - }, - "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" - } - }, - "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 - }, - "read-pkg": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", - "integrity": "sha512-+UBirHHDm5J+3WDmLBZYSklRYg82nMlz+enn+GMZ22nSR2f4bzxmhso6rzQW/3mT2PVzpzDTiYIZahk8UmZ44w==", - "dev": true, - "requires": { - "normalize-package-data": "^2.3.2", - "parse-json": "^4.0.0", - "pify": "^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 - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==", - "dev": true, - "requires": { - "has-flag": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "requires": { - "ansi-regex": "^2.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": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/concurrently/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" + } + }, + "node_modules/concurrently/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/concurrently/node_modules/cliui": { + "version": "4.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/concurrently/node_modules/color-convert": { + "version": "1.9.3", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/concurrently/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/concurrently/node_modules/find-up": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/concurrently/node_modules/get-caller-file": { + "version": "1.0.3", + "dev": true, + "license": "ISC" + }, + "node_modules/concurrently/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/concurrently/node_modules/hosted-git-info": { + "version": "2.8.9", + "dev": true, + "license": "ISC" + }, + "node_modules/concurrently/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/concurrently/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" + } + }, + "node_modules/concurrently/node_modules/normalize-package-data": { + "version": "2.5.0", + "dev": true, + "license": "BSD-2-Clause", + "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/concurrently/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/concurrently/node_modules/p-locate": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/concurrently/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" + } + }, + "node_modules/concurrently/node_modules/path-exists": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/concurrently/node_modules/read-pkg": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "normalize-package-data": "^2.3.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/concurrently/node_modules/rxjs": { + "version": "6.6.7", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/concurrently/node_modules/semver": { + "version": "5.7.2", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/concurrently/node_modules/string-width": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/concurrently/node_modules/strip-ansi": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/concurrently/node_modules/supports-color": { + "version": "4.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/concurrently/node_modules/supports-color/node_modules/has-flag": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/concurrently/node_modules/tslib": { + "version": "1.14.1", + "dev": true, + "license": "0BSD" + }, + "node_modules/concurrently/node_modules/wrap-ansi": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/concurrently/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/concurrently/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/concurrently/node_modules/wrap-ansi/node_modules/string-width": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/concurrently/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/concurrently/node_modules/y18n": { + "version": "4.0.3", + "dev": true, + "license": "ISC" + }, + "node_modules/concurrently/node_modules/yargs": { + "version": "12.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "node_modules/concurrently/node_modules/yargs-parser": { + "version": "11.1.1", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, - "config-chain": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "ini": "^1.3.4", "proto-list": "~1.2.1" } }, - "confusing-browser-globals": { + "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==", - "dev": true + "dev": true, + "license": "MIT" }, - "connect-history-api-fallback": { + "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==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } }, - "content-disposition": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" } }, - "content-type": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, - "conventional-changelog-angular": { + "node_modules/conventional-changelog-angular": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-6.0.0.tgz", - "integrity": "sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=14" } }, - "conventional-changelog-conventionalcommits": { + "node_modules/conventional-changelog-conventionalcommits": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-6.1.0.tgz", - "integrity": "sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=14" } }, - "conventional-changelog-writer": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "conventional-commits-filter": "^2.0.7", "dateformat": "^3.0.0", "handlebars": "^4.7.7", @@ -7867,65 +8742,87 @@ "semver": "^6.0.0", "split": "^1.0.0", "through2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "conventional-commit-types": { + "node_modules/conventional-commit-types": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz", - "integrity": "sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==", - "dev": true + "dev": true, + "license": "ISC" }, - "conventional-commits-filter": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "lodash.ismatch": "^4.4.0", "modify-values": "^1.0.0" + }, + "engines": { + "node": ">=10" } }, - "conventional-commits-parser": { + "node_modules/conventional-commits-parser": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz", - "integrity": "sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==", "dev": true, - "requires": { - "JSONStream": "^1.3.5", + "license": "MIT", + "dependencies": { "is-text-path": "^1.0.1", + "JSONStream": "^1.3.5", "meow": "^8.1.2", "split2": "^3.2.2" + }, + "bin": { + "conventional-commits-parser": "cli.js" + }, + "engines": { + "node": ">=14" } }, - "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/convert-source-map": { + "version": "2.0.0", + "dev": true, + "license": "MIT" }, - "cookie": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, - "cookie-signature": { + "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" }, - "copy-descriptor": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "copy-webpack-plugin": { + "node_modules/copy-webpack-plugin": { "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "fast-glob": "^3.2.11", "glob-parent": "^6.0.1", "globby": "^13.1.1", @@ -7933,254 +8830,370 @@ "schema-utils": "^4.0.0", "serialize-javascript": "^6.0.0" }, - "dependencies": { - "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" - } - }, - "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" - } - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true - } + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" } }, - "core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "dev": true - }, - "core-js-compat": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz", - "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", "dev": true, - "requires": { - "browserslist": "^4.22.3" + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, - "core-js-pure": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.36.0.tgz", - "integrity": "sha512-cN28qmhRNgbMZZMc/RFu5w8pK9VJzpb2rJVR/lHuZJKwmXnoWOpXmMkxqBB514igkp1Hu8WGROsiOAzUcKdHOQ==", - "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 + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "13.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "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" + } }, - "cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", "dev": true, - "requires": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "cosmiconfig-typescript-loader": { + "node_modules/core-js": { + "version": "3.33.2", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.33.2", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.22.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.33.2", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cosmiconfig-typescript-loader": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.4.0.tgz", - "integrity": "sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=v14.21.3" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=7", + "ts-node": ">=10", + "typescript": ">=4" + } }, - "create-require": { + "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 + "dev": true, + "license": "MIT" }, - "cross-spawn": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "crypto-random-string": { + "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==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "css-blank-pseudo": { + "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==", "dev": true, - "requires": { + "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" } }, - "css-declaration-sorter": { + "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==", - "dev": true + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } }, - "css-has-pseudo": { + "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==", "dev": true, - "requires": { + "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" } }, - "css-loader": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz", - "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==", + "node_modules/css-loader": { + "version": "6.8.1", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "icss-utils": "^5.1.0", - "postcss": "^8.4.33", + "postcss": "^8.4.21", "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.4", - "postcss-modules-scope": "^3.1.1", + "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.5.4" + "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.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "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 - } + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "css-minimizer-webpack-plugin": { + "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==", "dev": true, - "requires": { + "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 + } } }, - "css-prefers-color-scheme": { + "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==", - "dev": true + "dev": true, + "license": "CC0-1.0", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } }, - "css-select": { + "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==", "dev": true, - "requires": { + "license": "BSD-2-Clause", + "dependencies": { "boolbase": "^1.0.0", "css-what": "^3.2.1", "domutils": "^1.7.0", "nth-check": "^1.0.2" } }, - "css-select-base-adapter": { + "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==", - "dev": true + "dev": true, + "license": "MIT" }, - "css-tree": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "mdn-data": "2.0.4", "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "css-what": { + "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==", - "dev": true + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } }, - "cssdb": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.11.1.tgz", - "integrity": "sha512-F0nEoX/Rv8ENTHsjMPGHd9opdjGfXkgRBafSUGnQKPzGZFB7Lm0BbT10x21TMOCrKLbVsJ0NoCDMk6AfKqw8/A==", - "dev": true + "node_modules/cssdb": { + "version": "7.9.0", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ], + "license": "CC0-1.0" }, - "cssesc": { + "node_modules/cssesc": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } }, - "cssnano": { + "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==", "dev": true, - "requires": { + "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" } }, - "cssnano-preset-default": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "css-declaration-sorter": "^6.3.1", "cssnano-utils": "^3.1.0", "postcss-calc": "^8.2.3", @@ -8210,14946 +9223,17350 @@ "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" } }, - "cssnano-utils": { + "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==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } }, - "csso": { + "node_modules/csso": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "css-tree": "^1.1.2" }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "dev": true, + "license": "MIT", "dependencies": { - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - } + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "cssom": { + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/cssom": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true + "dev": true, + "license": "MIT" }, - "cssstyle": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "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 - } + "engines": { + "node": ">=8" } }, - "cz-conventional-changelog": { + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "dev": true, + "license": "MIT" + }, + "node_modules/cz-conventional-changelog": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz", - "integrity": "sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==", "dev": true, - "requires": { - "@commitlint/load": ">6.1.1", + "license": "MIT", + "dependencies": { "chalk": "^2.4.1", "commitizen": "^4.0.3", "conventional-commit-types": "^3.0.0", "lodash.map": "^4.5.1", "longest": "^2.0.1", "word-wrap": "^1.0.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@commitlint/load": ">6.1.1" } }, - "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==", - "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-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "node_modules/cz-conventional-changelog/node_modules/ansi-styles": { + "version": "3.2.1", "dev": true, - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, + "license": "MIT", "dependencies": { - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true - }, - "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" - } - } - } - }, - "date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", - "dev": true - }, - "dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true - }, - "debounce": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", - "dev": true - }, - "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" + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "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==", + "node_modules/cz-conventional-changelog/node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, + "license": "MIT", "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 - } + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "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 - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "deep-equal": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", - "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==", + "node_modules/cz-conventional-changelog/node_modules/cachedir": { + "version": "2.3.0", "dev": true, - "requires": { - "is-arguments": "^1.1.1", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.5.1" + "license": "MIT", + "engines": { + "node": ">=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 - }, - "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-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==", + "node_modules/cz-conventional-changelog/node_modules/chalk": { + "version": "2.4.2", "dev": true, - "requires": { - "execa": "^5.0.0" + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "node_modules/cz-conventional-changelog/node_modules/color-convert": { + "version": "1.9.3", "dev": true, - "requires": { - "clone": "^1.0.2" + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" } }, - "define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "node_modules/cz-conventional-changelog/node_modules/color-name": { + "version": "1.1.3", "dev": true, - "requires": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - } - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true + "license": "MIT" }, - "define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "node_modules/cz-conventional-changelog/node_modules/commitizen": { + "version": "4.3.0", "dev": true, - "requires": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "license": "MIT", + "dependencies": { + "cachedir": "2.3.0", + "cz-conventional-changelog": "3.3.0", + "dedent": "0.7.0", + "detect-indent": "6.1.0", + "find-node-modules": "^2.1.2", + "find-root": "1.1.0", + "fs-extra": "9.1.0", + "glob": "7.2.3", + "inquirer": "8.2.5", + "is-utf8": "^0.2.1", + "lodash": "4.17.21", + "minimist": "1.2.7", + "strip-bom": "4.0.0", + "strip-json-comments": "3.1.1" + }, + "bin": { + "commitizen": "bin/commitizen", + "cz": "bin/git-cz", + "git-cz": "bin/git-cz" + }, + "engines": { + "node": ">= 12" } }, - "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/cz-conventional-changelog/node_modules/fs-extra": { + "version": "9.1.0", "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "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/cz-conventional-changelog/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", "dependencies": { - "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, - "requires": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^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": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "node_modules/cz-conventional-changelog/node_modules/has-flag": { + "version": "3.0.0", "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" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "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 - }, - "deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", - "dev": true - }, - "dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", - "dev": true - }, - "detect-indent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", - "dev": true - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "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==", + "node_modules/cz-conventional-changelog/node_modules/inquirer": { + "version": "8.2.5", "dev": true, - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, + "license": "MIT", "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 - } + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" } }, - "didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true - }, - "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": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "dev": true + "node_modules/cz-conventional-changelog/node_modules/inquirer/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" + } }, - "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/cz-conventional-changelog/node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", "dev": true, - "requires": { - "path-type": "^4.0.0" + "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" } }, - "dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true + "node_modules/cz-conventional-changelog/node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "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==", - "dev": true + "node_modules/cz-conventional-changelog/node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" }, - "dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "node_modules/cz-conventional-changelog/node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", "dev": true, - "requires": { - "@leichtgewicht/ip-codec": "^2.0.1" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==", + "node_modules/cz-conventional-changelog/node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/cz-conventional-changelog/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "requires": { - "esutils": "^2.0.2" + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "node_modules/cz-conventional-changelog/node_modules/minimist": { + "version": "1.2.7", "dev": true, - "requires": { - "utila": "~0.4" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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/cz-conventional-changelog/node_modules/supports-color": { + "version": "5.5.0", "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, + "license": "MIT", "dependencies": { - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true - } + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "dev": true, + "license": "BSD-2-Clause" }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "node_modules/dargs": { + "version": "7.0.0", "dev": true, - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true - } + "license": "MIT", + "engines": { + "node": ">=8" } }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "node_modules/data-urls": { + "version": "2.0.0", "dev": true, - "requires": { - "domelementtype": "^2.2.0" - }, + "license": "MIT", "dependencies": { - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true - } + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" } }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "node_modules/data-urls/node_modules/tr46": { + "version": "2.1.0", "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" } }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "node_modules/data-urls/node_modules/webidl-conversions": { + "version": "6.1.0", "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "license": "BSD-2-Clause", + "engines": { + "node": ">=10.4" } }, - "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/data-urls/node_modules/whatwg-url": { + "version": "8.7.0", "dev": true, - "requires": { - "is-obj": "^2.0.0" + "license": "MIT", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" } }, - "dotenv": { - "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==" - }, - "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==", - "dev": true - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true + "node_modules/date-fns": { + "version": "1.30.1", + "dev": true, + "license": "MIT" }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "node_modules/dateformat": { + "version": "3.0.3", "dev": true, - "requires": { - "readable-stream": "^2.0.2" - }, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "license": "MIT", "dependencies": { - "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" - } + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "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/decamelize": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "ee-first": { + "node_modules/decamelize-keys": { "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 - }, - "ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", "dev": true, - "requires": { - "jake": "^10.8.5" + "license": "MIT", + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "electron-to-chromium": { - "version": "1.4.692", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.692.tgz", - "integrity": "sha512-d5rZRka9n2Y3MkWRN74IoAsxR0HK3yaAt7T50e3iT9VZmCCQDT3geXUO5ZRMhDToa1pkCeQXuNo+0g+NfDOVPA==" - }, - "emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "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 + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.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 + "node_modules/decimal.js": { + "version": "10.4.3", + "dev": true, + "license": "MIT" }, - "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==", + "node_modules/decode-uri-component": { + "version": "0.2.2", "dev": true, - "requires": { - "once": "^1.4.0" + "license": "MIT", + "engines": { + "node": ">=0.10" } }, - "enhanced-resolve": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.1.tgz", - "integrity": "sha512-3d3JRbwsCLJsYgvb6NuWEG44jjPSOMuS73L/6+7BZuoKm3W+qXnSoIYVHi8dG7Qcg4inAY4jbzkZ7MnskePeDg==", + "node_modules/dedent": { + "version": "0.7.0", "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } + "license": "MIT" }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true + "node_modules/deep-equal": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "env-ci": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-5.5.0.tgz", - "integrity": "sha512-o0JdWIbOLP+WJKIUt36hz1ImQQFuN92nhsfTkHHap+J8CiI8WgGpH/a9jEGHh4/TU5BUUGjlnKXNoDb57+ne+A==", + "node_modules/deep-extend": { + "version": "0.6.0", "dev": true, - "requires": { - "execa": "^5.0.0", - "fromentries": "^1.3.2", - "java-properties": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=4.0.0" } }, - "envinfo": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", - "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==", - "dev": true + "node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" }, - "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/deepmerge": { + "version": "4.3.1", "dev": true, - "requires": { - "prr": "~1.0.1" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "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/default-gateway": { + "version": "6.0.3", "dev": true, - "requires": { - "is-arrayish": "^0.2.1" + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" } }, - "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/defaults": { + "version": "1.0.4", "dev": true, - "requires": { - "stackframe": "^1.3.4" + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "es-abstract": { - "version": "1.22.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz", - "integrity": "sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==", + "node_modules/define-data-property": { + "version": "1.1.1", "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.1", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "hasown": "^2.0.1", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.0", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.5", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.14" + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "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 - }, - "es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "node_modules/define-lazy-prop": { + "version": "2.0.0", "dev": true, - "requires": { - "get-intrinsic": "^1.2.4" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true + "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" + } }, - "es-iterator-helpers": { - "version": "1.0.17", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.17.tgz", - "integrity": "sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==", + "node_modules/define-property": { + "version": "2.0.2", "dev": true, - "requires": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.4", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.2", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.1.0" + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "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==", - "dev": true + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } }, - "es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "node_modules/del": { + "version": "6.1.1", "dev": true, - "requires": { - "get-intrinsic": "^1.2.4", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" + "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" } }, - "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==", + "node_modules/delayed-stream": { + "version": "1.0.0", "dev": true, - "requires": { - "hasown": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">=0.4.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==", + "node_modules/depd": { + "version": "2.0.0", "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" + "node_modules/deprecation": { + "version": "2.3.1", + "dev": true, + "license": "ISC" }, - "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/dequal": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "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==" + "node_modules/destroy": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } }, - "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/detect-file": { + "version": "1.0.0", "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "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" - } - } + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "node_modules/detect-indent": { + "version": "6.1.0", "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@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", - "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": { - "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-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" - } - }, - "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" - } - }, - "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 - }, - "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.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "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 - }, - "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 - }, - "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" - } - }, - "supports-color": { - "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 - } + "license": "MIT", + "engines": { + "node": ">=8" } }, - "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==", + "node_modules/detect-newline": { + "version": "3.1.0", "dev": true, - "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" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "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==", + "node_modules/detect-node": { + "version": "2.1.0", "dev": true, - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - }, + "license": "MIT" + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "dev": true, + "license": "MIT", "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" - } - } + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" } }, - "eslint-module-utils": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", - "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", "dev": true, - "requires": { - "debug": "^3.2.7" - }, + "license": "MIT", "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" - } - } + "ms": "2.0.0" } }, - "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==", + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", "dev": true, - "requires": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" - } + "license": "MIT" }, - "eslint-plugin-import": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", - "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "node_modules/didyoumean": { + "version": "1.2.2", "dev": true, - "requires": { - "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.15.0" - }, - "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" - } - }, - "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" - } - }, - "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" - } - } + "license": "Apache-2.0" + }, + "node_modules/diff": { + "version": "4.0.2", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" } }, - "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==", + "node_modules/diff-sequences": { + "version": "27.5.1", "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "^5.0.0" + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "eslint-plugin-jsx-a11y": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", - "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "node_modules/dir-glob": { + "version": "3.0.1", "dev": true, - "requires": { - "@babel/runtime": "^7.23.2", - "aria-query": "^5.3.0", - "array-includes": "^3.1.7", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "=4.7.0", - "axobject-query": "^3.2.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.15", - "hasown": "^2.0.0", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7" - }, + "license": "MIT", "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" - } - }, - "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 - }, - "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" - } - } + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "eslint-plugin-react": { - "version": "7.34.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.0.tgz", - "integrity": "sha512-MeVXdReleBTdkz/bvcQMSnCXGi+c9kvy51IpinjnJgutl3YTHWsDdke7Z1ufZpGfDG8xduBDKyjtB9JH1eBKIQ==", + "node_modules/dlv": { + "version": "1.1.3", "dev": true, - "requires": { - "array-includes": "^3.1.7", - "array.prototype.findlast": "^1.2.4", - "array.prototype.flatmap": "^1.3.2", - "array.prototype.toreversed": "^1.1.2", - "array.prototype.tosorted": "^1.1.3", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.17", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7", - "object.hasown": "^1.1.3", - "object.values": "^1.1.7", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.10" - }, - "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" - } - }, - "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" - } - }, - "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" - } - }, - "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, - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - } - } + "license": "MIT" }, - "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 + "node_modules/dns-equal": { + "version": "1.0.0", + "dev": true, + "license": "MIT" }, - "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==", + "node_modules/dns-packet": { + "version": "5.6.1", "dev": true, - "requires": { - "@typescript-eslint/utils": "^5.58.0" + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" } }, - "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/dns-txt": { + "version": "2.0.2", "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "license": "MIT", + "dependencies": { + "buffer-indexof": "^1.0.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 - }, - "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==", + "node_modules/doctrine": { + "version": "3.0.0", "dev": true, - "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" - }, + "license": "Apache-2.0", "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "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" - } - }, - "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" - } - } + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.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==", + "node_modules/dom-converter": { + "version": "0.2.0", "dev": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "license": "MIT", + "dependencies": { + "utila": "~0.4" } }, - "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==", + "node_modules/dom-serializer": { + "version": "0.2.2", "dev": true, - "requires": { - "estraverse": "^5.1.0" + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.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==", + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.3.0", "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 - }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "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 - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - }, - "eventsource": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", - "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/domelementtype": { + "version": "1.3.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" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true + "license": "BSD-2-Clause" }, - "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/domexception": { + "version": "2.0.1", "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" - }, + "license": "MIT", "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" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" + "license": "BSD-2-Clause", + "engines": { + "node": ">=8" } }, - "expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "node_modules/domhandler": { + "version": "4.3.1", "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" + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "express": { - "version": "4.18.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", - "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "node_modules/domhandler/node_modules/domelementtype": { + "version": "2.3.0", "dev": true, - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.2", - "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": { - "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 + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" } - } + ], + "license": "BSD-2-Clause" }, - "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/domutils": { + "version": "1.7.0", "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, + "license": "BSD-2-Clause", "dependencies": { - "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" - } - } + "dom-serializer": "0", + "domelementtype": "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==", + "node_modules/dot-case": { + "version": "3.0.4", "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "node_modules/dot-prop": { + "version": "5.3.0", "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" - }, + "license": "MIT", "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-descriptor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", - "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - } - } + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "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.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "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" + "node_modules/dotenv": { + "version": "16.3.1", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=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.2.5", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", - "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", - "requires": { - "strnum": "^1.0.5" - } + "node_modules/dotenv-expand": { + "version": "5.1.0", + "dev": true, + "license": "BSD-2-Clause" }, - "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 + "node_modules/duplexer": { + "version": "0.1.2", + "dev": true, + "license": "MIT" }, - "fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "requires": { - "reusify": "^1.0.4" + "node_modules/duplexer2": { + "version": "0.1.4", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "readable-stream": "^2.0.2" } }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "node_modules/duplexer2/node_modules/readable-stream": { + "version": "2.3.8", "dev": true, - "requires": { - "websocket-driver": ">=0.5.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" } }, - "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/duplexer2/node_modules/safe-buffer": { + "version": "5.1.2", "dev": true, - "requires": { - "bser": "2.1.1" - } + "license": "MIT" }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/duplexer2/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "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/ee-first": { + "version": "1.1.1", "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } + "license": "MIT" }, - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "node_modules/ejs": { + "version": "3.1.9", "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, + "license": "Apache-2.0", "dependencies": { - "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 - }, - "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 - }, - "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" - } - } + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.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==", + "node_modules/electron-to-chromium": { + "version": "1.4.574", + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.8.1", "dev": true, - "requires": { - "minimatch": "^5.0.1" + "license": "MIT", + "engines": { + "node": ">=10" }, - "dependencies": { - "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" - } - } + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", - "dev": true + "node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" }, - "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" + "node_modules/emojis-list": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" } }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "node_modules/encodeurl": { + "version": "1.0.2", "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": "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==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "find-node-modules": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.3.tgz", - "integrity": "sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==", + "node_modules/end-of-stream": { + "version": "1.4.4", "dev": true, - "requires": { - "findup-sync": "^4.0.0", - "merge": "^2.1.1" + "license": "MIT", + "dependencies": { + "once": "^1.4.0" } }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "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==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "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" } }, - "find-versions": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz", - "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==", + "node_modules/entities": { + "version": "2.2.0", "dev": true, - "requires": { - "semver-regex": "^3.1.2" + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "findup-sync": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", - "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "node_modules/env-ci": { + "version": "5.5.0", "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^4.0.2", - "resolve-dir": "^1.0.1" + "license": "MIT", + "dependencies": { + "execa": "^5.0.0", + "fromentries": "^1.3.2", + "java-properties": "^1.0.0" + }, + "engines": { + "node": ">=10.17" } }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - }, - "flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "node_modules/envinfo": { + "version": "7.11.0", "dev": true, - "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "license": "MIT", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" } }, - "flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true - }, - "follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", - "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==", + "node_modules/errno": { + "version": "0.1.8", "dev": true, - "requires": { - "is-callable": "^1.1.3" + "license": "MIT", + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" } }, - "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==", + "node_modules/error-ex": { + "version": "1.3.2", "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, + "license": "MIT", "dependencies": { - "signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true - } + "is-arrayish": "^0.2.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==", + "node_modules/error-stack-parser": { + "version": "2.1.4", "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, + "license": "MIT", "dependencies": { - "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 - }, - "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" - } - }, - "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" - } - }, - "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 - }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dev": true, - "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==", - "dev": true, - "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==", - "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" - } - }, - "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 - }, - "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 - }, - "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" - } - }, - "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" - } - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - }, - "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "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 - } + "stackframe": "^1.3.4" } }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "node_modules/es-abstract": { + "version": "1.22.3", "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "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.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": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true - }, - "fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "dev": true, + "license": "MIT" }, - "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/es-iterator-helpers": { + "version": "1.0.15", "dev": true, - "requires": { - "map-cache": "^0.2.2" + "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" } }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true + "node_modules/es-module-lexer": { + "version": "1.3.1", + "license": "MIT" }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "node_modules/es-set-tostringtag": { + "version": "2.0.2", "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - }, + "license": "MIT", "dependencies": { - "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" - } - } + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true - }, - "fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "node_modules/es-shim-unscopables": { + "version": "1.0.2", "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" } }, - "fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", - "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==" - }, - "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==", - "dev": 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==", + "node_modules/es-to-primitive": { + "version": "1.2.1", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "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" } }, - "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==" + "node_modules/escalade": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "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 + "node_modules/escape-html": { + "version": "1.0.3", + "dev": true, + "license": "MIT" }, - "get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "node_modules/escape-string-regexp": { + "version": "1.0.5", "dev": true, - "requires": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">=0.8.0" } }, - "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==", - "dev": true - }, - "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.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "node_modules/escodegen": { + "version": "1.14.3", "dev": true, - "requires": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" + "license": "BSD-2-Clause", + "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" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.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 - }, - "git-log-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz", - "integrity": "sha512-rnCVNfkTL8tdNryFuaY0fYiBWEBcgF748O6ZI61rslBvr2o7U65c2/6npCRqH40vuAhtgtDiqLTJjBVdrejCzA==", + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, - "requires": { - "argv-formatter": "~1.0.0", - "spawn-error-forwarder": "~1.0.0", - "split2": "~1.0.0", - "stream-combiner2": "~1.1.1", - "through2": "~2.0.0", - "traverse": "~0.6.6" - }, "dependencies": { - "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 - }, - "split2": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-1.0.0.tgz", - "integrity": "sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==", - "dev": true, - "requires": { - "through2": "~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, - "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" - } - } + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@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", + "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" } }, - "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/eslint-config-react-app": { + "version": "7.0.1", "dev": true, - "requires": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - } - }, - "glob": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.2.tgz", - "integrity": "sha512-BTv/JhKXFEHsErMte/AnfiSv8yYOLLiyH2lTg8vn02O21zWFgHPTfxtgn1QRe7NRgggUhC8hacR2Re94svHqeA==", - "requires": { - "fs.realpath": "^1.0.0", - "minimatch": "^7.4.1", - "minipass": "^4.2.4", - "path-scurry": "^1.6.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==", - "requires": { - "is-glob": "^4.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" } }, - "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-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", "dev": true, - "requires": { - "ini": "^1.3.4" + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" } }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "node_modules/eslint-module-utils": { + "version": "2.8.0", "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - }, + "license": "MIT", "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true } } }, - "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==", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", "dev": true, - "requires": { - "define-properties": "^1.1.3" + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" } }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", "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" + "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" } }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "node_modules/eslint-plugin-import": { + "version": "2.29.0", "dev": true, - "requires": { - "get-intrinsic": "^1.1.3" + "license": "MIT", + "dependencies": { + "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": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "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 - }, - "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==", + "node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, - "requires": { - "duplexer": "^0.1.2" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, - "handlebars": { - "version": "4.7.8", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", - "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", "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" + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" } }, - "hard-rejection": { + "node_modules/eslint-plugin-import/node_modules/doctrine": { "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 - }, - "harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", - "dev": 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": "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.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, - "requires": { - "es-define-property": "^1.0.0" + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "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.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "requires": { - "has-symbols": "^1.0.3" + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "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/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "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/eslint-plugin-jest": { + "version": "25.7.0", "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, + "license": "MIT", "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" - } - } - } + "@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 }, - "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" - } + "jest": { + "optional": true } } }, - "hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.8.0", "dev": true, - "requires": { - "function-bind": "^1.1.2" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.2", + "aria-query": "^5.3.0", + "array-includes": "^3.1.7", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "=4.7.0", + "axobject-query": "^3.2.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.15", + "hasown": "^2.0.0", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "node_modules/eslint-plugin-jsx-a11y/node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, - "requires": { - "parse-passwd": "^1.0.0" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "hook-std": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-2.0.0.tgz", - "integrity": "sha512-zZ6T5WcuBMIUVh49iPQS9t977t7C0l7OtHrpeMb5uk48JdflRX0NSFvCekfYNmGQETnLq9W/isMyHl69kxGi8g==", - "dev": true - }, - "hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", - "dev": true + "node_modules/eslint-plugin-jsx-a11y/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "license": "MIT" }, - "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==", + "node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "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" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "node_modules/eslint-plugin-react": { + "version": "7.33.2", "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, + "license": "MIT", "dependencies": { - "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" - } - } + "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" } }, - "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==", + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", "dev": true, - "requires": { - "whatwg-encoding": "^1.0.5" + "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" } }, - "html-entities": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", - "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", - "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 + "node_modules/eslint-plugin-react/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, - "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==", + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.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" - }, + "license": "Apache-2.0", "dependencies": { - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true - } + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "html-webpack-plugin": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", - "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", + "node_modules/eslint-plugin-react/node_modules/estraverse": { + "version": "5.3.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" + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" } }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "node_modules/eslint-plugin-react/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - }, + "license": "ISC", "dependencies": { - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "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==", - "dev": true - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "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==", + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", "dev": true, - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "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" } }, - "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==", - "dev": true - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "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==", + "node_modules/eslint-plugin-testing-library": { + "version": "5.11.1", "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "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" } }, - "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==", + "node_modules/eslint-scope": { + "version": "7.2.2", "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" - }, + "license": "BSD-2-Clause", "dependencies": { - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true - } + "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" } }, - "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" + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.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 - }, - "husky": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", - "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==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true - }, - "idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", - "dev": true - }, - "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==", + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", "dev": true, - "requires": { - "harmony-reflect": "^1.4.6" + "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" } }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "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==", + "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, + "license": "MIT", "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==", - "dev": true - } + "@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" } }, - "import-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-4.0.0.tgz", - "integrity": "sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==", - "dev": true + "node_modules/eslint-webpack-plugin/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" + } }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" + "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" } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, - "indent-string": { + "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "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": "8.2.5", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", - "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^7.0.0" - }, + "license": "ISC", "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 - }, - "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, - "requires": { - "tslib": "^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==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "node_modules/eslint/node_modules/globals": { + "version": "13.23.0", "dev": true, - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, + "license": "MIT", "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "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-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "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 - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", "dev": true, - "requires": { - "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - } + "license": "MIT" }, - "interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true + "node_modules/eslint/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" + } }, - "into-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-6.0.0.tgz", - "integrity": "sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==", + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "requires": { - "from2": "^2.3.0", - "p-is-promise": "^3.0.0" + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "ip": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.9.tgz", - "integrity": "sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==", - "dev": true - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", - "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==", - "dev": true - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true - }, - "is-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==", + "node_modules/eslint/node_modules/optionator": { + "version": "0.9.3", "dev": true, - "requires": { - "hasown": "^2.0.0" + "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" + }, + "engines": { + "node": ">= 0.8.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==", + "node_modules/eslint/node_modules/prelude-ls": { + "version": "1.2.1", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.8.0" } }, - "is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "node_modules/eslint/node_modules/type-check": { + "version": "0.4.0", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "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/eslint/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" + } }, - "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/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": { - "has-tostringtag": "^1.0.0" + "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" } }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "node_modules/esprima": { + "version": "4.0.1", "dev": true, - "requires": { - "has-bigints": "^1.0.1" + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" } }, - "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" + "node_modules/esquery": { + "version": "1.5.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" } }, - "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/esquery/node_modules/estraverse": { + "version": "5.3.0", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.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 + "node_modules/esrecurse": { + "version": "4.3.0", + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.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 + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } }, - "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, - "requires": { - "hasown": "^2.0.0" + "node_modules/estraverse": { + "version": "4.3.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" } }, - "is-data-descriptor": { + "node_modules/estree-walker": { "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, - "requires": { - "hasown": "^2.0.0" - } + "license": "MIT" }, - "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/esutils": { + "version": "2.0.3", "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" } }, - "is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "node_modules/etag": { + "version": "1.8.1", "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "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-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/eventemitter3": { + "version": "4.0.7", + "dev": true, + "license": "MIT" }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + "node_modules/events": { + "version": "3.3.0", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } }, - "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/eventsource": { + "version": "2.0.2", "dev": true, - "requires": { - "call-bind": "^1.0.2" + "license": "MIT", + "engines": { + "node": ">=12.0.0" } }, - "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-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/execa": { + "version": "5.1.1", "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" + "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" } }, - "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" + "node_modules/exit": { + "version": "0.1.2", + "dev": true, + "engines": { + "node": ">= 0.8.0" } }, - "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-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==", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "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==", + "node_modules/expand-brackets": { + "version": "2.1.4", "dev": true, - "requires": { - "has-tostringtag": "^1.0.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" + }, + "engines": { + "node": ">=0.10.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": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", "dev": true, - "requires": { - "is-path-inside": "^2.1.0" - }, + "license": "MIT", "dependencies": { - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "requires": { - "path-is-inside": "^1.0.2" - } - } + "ms": "2.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-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==", - "requires": { - "isobject": "^3.0.1" + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "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==", + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.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==", - "dev": true - }, - "is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "dev": true + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" }, - "is-set": { + "node_modules/expand-tilde": { "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.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, - "requires": { - "call-bind": "^1.0.7" + "license": "MIT", + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.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 - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "node_modules/expect": { + "version": "27.5.1", "dev": true, - "requires": { - "has-tostringtag": "^1.0.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" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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==", + "node_modules/express": { + "version": "4.18.2", "dev": true, - "requires": { - "has-symbols": "^1.0.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" } }, - "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/express/node_modules/array-flatten": { + "version": "1.1.1", "dev": true, - "requires": { - "text-extensions": "^1.0.0" - } + "license": "MIT" }, - "is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "node_modules/express/node_modules/debug": { + "version": "2.6.9", "dev": true, - "requires": { - "which-typed-array": "^1.1.14" + "license": "MIT", + "dependencies": { + "ms": "2.0.0" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "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 + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", - "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==", + "node_modules/extend-shallow": { + "version": "3.0.2", "dev": true, - "requires": { - "call-bind": "^1.0.2" + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" } }, - "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/external-editor": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "node_modules/extglob": { + "version": "2.0.4", "dev": true, - "requires": { - "is-docker": "^2.0.0" + "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" } }, - "isarray": { + "node_modules/extglob/node_modules/define-property": { "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", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "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/extglob/node_modules/is-descriptor": { + "version": "1.0.3", "dev": 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" + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" } }, - "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 + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "license": "MIT" }, - "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" + "node_modules/fast-glob": { + "version": "3.3.2", + "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" } }, - "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/fast-json-stable-stringify": { + "version": "2.1.0", + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" + "license": "MIT" + }, + "node_modules/fast-xml-parser": { + "version": "4.2.5", + "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" + } + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "license": "ISC", "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "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" - } - }, - "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" - } - }, - "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } + "reusify": "^1.0.4" } }, - "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/faye-websocket": { + "version": "0.11.4", "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" } }, - "istanbul-reports": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "node_modules/fb-watchman": { + "version": "2.0.2", "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" } }, - "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==", + "node_modules/figures": { + "version": "3.2.0", "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" + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "node_modules/file-entry-cache": { + "version": "6.0.1", "dev": true, - "requires": { - "@isaacs/cliui": "^8.0.2", - "@pkgjs/parseargs": "^0.11.0" + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "node_modules/file-loader": { + "version": "6.2.0", "dev": true, - "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" + "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/file-loader/node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", "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" - } - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "supports-color": { - "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" - } - } + "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" } }, - "java-properties": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz", - "integrity": "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==", - "dev": true + "node_modules/file-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } }, - "jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "node_modules/file-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", "dev": true, - "requires": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" + "license": "MIT" + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "dev": true, + "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/file-uri-to-path": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/filelist": { + "version": "1.0.4", + "dev": true, + "license": "Apache-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" - } - }, - "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" - } - }, - "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 - }, - "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==", - "dev": true, - "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" - } - }, - "supports-color": { - "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" - } - }, - "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" - } - } + "minimatch": "^5.0.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==", + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" } }, - "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==", + "node_modules/filesize": { + "version": "8.0.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" + "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", + "dev": true, + "license": "MIT", "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" - } - } + "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" } }, - "jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", "dev": true, - "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" - }, + "license": "MIT", "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" - } - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "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" - } - } + "ms": "2.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==", + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, + "license": "MIT" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "dev": true, + "license": "MIT", "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" - } - } + "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" } }, - "jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "node_modules/find-node-modules": { + "version": "2.1.3", "dev": true, - "requires": { - "detect-newline": "^3.0.0" + "license": "MIT", + "dependencies": { + "findup-sync": "^4.0.0", + "merge": "^2.1.1" } }, - "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==", + "node_modules/find-root": { + "version": "1.1.0", "dev": true, - "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" - }, + "license": "MIT" + }, + "node_modules/find-up": { + "version": "5.0.0", + "license": "MIT", "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" - } - } + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/find-versions": { + "version": "4.0.0", "dev": true, - "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" + "license": "MIT", + "dependencies": { + "semver-regex": "^3.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/findup-sync": { + "version": "4.0.0", "dev": true, - "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" + "license": "MIT", + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 8" } }, - "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==", - "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==", - "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" + "node_modules/flat": { + "version": "5.0.2", + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" } }, - "jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "node_modules/flat-cache": { + "version": "3.1.1", "dev": true, - "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" - }, + "license": "MIT", "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" - } - } + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.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==", + "node_modules/flatted": { + "version": "3.2.9", "dev": true, - "requires": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } + "license": "ISC" }, - "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==", + "node_modules/follow-redirects": { + "version": "1.15.3", "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=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==", - "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" - } + "peerDependenciesMeta": { + "debug": { + "optional": 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==", + "node_modules/for-each": { + "version": "0.3.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" - }, + "license": "MIT", "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" - } - } + "is-callable": "^1.1.3" } }, - "jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "node_modules/for-in": { + "version": "1.0.2", "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*" + "license": "MIT", + "engines": { + "node": ">=0.10.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 - }, - "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-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==", + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", "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" - }, + "license": "MIT", "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 + "@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 }, - "supports-color": { - "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" - } + "vue-template-compiler": { + "optional": true } } }, - "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==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" + "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" } }, - "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==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", "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": { - "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" - } - } + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" } }, - "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==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, - "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" - }, + "license": "MIT", "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" - } - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "supports-color": { - "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" - } - } + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", "dev": true, - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.9" + "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" } }, - "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==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", "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" - }, + "license": "MIT", "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 - }, - "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.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" } }, - "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/fork-ts-checker-webpack-plugin/node_modules/glob": { + "version": "7.2.3", "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" - }, + "license": "ISC", "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" - } - } + "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" } }, - "jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", "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" - }, + "license": "MIT" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "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==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", "dev": true, - "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" + "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/tapable": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "dev": true, + "license": "MIT", "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" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - } - } - }, - "@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/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" - } - }, - "@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, - "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==", - "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 - }, - "emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", - "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 - }, - "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" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "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==", - "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==", - "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-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" - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "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 - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true - }, - "string-length": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", - "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", - "dev": true, - "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==", - "dev": 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, - "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==", - "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" - } - } + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" } }, - "jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "node_modules/forwarded": { + "version": "0.2.0", "dev": true, - "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" + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" }, - "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" - } - } + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" } }, - "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/fragment-cache": { + "version": "0.2.1", "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "license": "MIT", + "dependencies": { + "map-cache": "^0.2.2" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "dev": true, + "license": "MIT", "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, - "jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", - "dev": true + "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" + } }, - "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/from2/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" }, - "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/from2/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, - "requires": { - "argparse": "^2.0.1" + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.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==", + "node_modules/fromentries": { + "version": "1.3.2", "dev": true, - "requires": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - }, - "dependencies": { - "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" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true - }, - "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" - } + { + "type": "consulting", + "url": "https://feross.org/support" } - } - }, - "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==", - "dev": true + ], + "license": "MIT" }, - "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/fs-extra": { + "version": "11.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true + "node_modules/fs-monkey": { + "version": "1.0.5", + "dev": true, + "license": "Unlicense" }, - "json-schema-traverse": { + "node_modules/fs.realpath": { "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 - }, - "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 + "license": "ISC" }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + "node_modules/fsevents": { + "version": "2.3.3", + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/function-bind": { + "version": "1.1.2", "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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 - }, - "jsonpath": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", - "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "node_modules/function.prototype.name": { + "version": "1.1.6", "dev": true, - "requires": { - "esprima": "1.2.2", - "static-eval": "2.0.2", - "underscore": "1.12.1" - }, + "license": "MIT", "dependencies": { - "esprima": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", - "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", - "dev": true - } + "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" } }, - "jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", - "dev": true - }, - "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/functions-have-names": { + "version": "1.2.3", "dev": true, - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "node_modules/gensync": { + "version": "1.0.0-beta.2", "dev": true, - "requires": { - "json-buffer": "3.0.1" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "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==" - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true + "node_modules/get-caller-file": { + "version": "2.0.5", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } }, - "klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", - "dev": true + "node_modules/get-intrinsic": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "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==", - "dev": true + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "dev": true, + "license": "ISC" }, - "language-tags": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "node_modules/get-package-type": { + "version": "0.1.0", "dev": true, - "requires": { - "language-subtag-registry": "^0.3.20" + "license": "MIT", + "engines": { + "node": ">=8.0.0" } }, - "launch-editor": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", - "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "node_modules/get-stream": { + "version": "6.0.1", "dev": true, - "requires": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "node_modules/get-symbol-description": { + "version": "1.0.0", "dev": true, - "requires": { - "invert-kv": "^2.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" } }, - "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/get-value": { + "version": "2.0.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.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==", + "node_modules/git-log-parser": { + "version": "1.2.0", "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "license": "MIT", + "dependencies": { + "argv-formatter": "~1.0.0", + "spawn-error-forwarder": "~1.0.0", + "split2": "~1.0.0", + "stream-combiner2": "~1.1.1", + "through2": "~2.0.0", + "traverse": "~0.6.6" } }, - "lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true + "node_modules/git-log-parser/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" + } }, - "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/git-log-parser/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" }, - "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/git-log-parser/node_modules/split2": { + "version": "1.0.0", "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, + "license": "ISC", "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" - } - }, - "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 - } + "through2": "~2.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==", - "dev": true + "node_modules/git-log-parser/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.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==", + "node_modules/git-log-parser/node_modules/through2": { + "version": "2.0.5", "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~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==", - "requires": { - "p-locate": "^5.0.0" + "node_modules/git-raw-commits": { + "version": "2.0.11", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=10" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "node_modules/glob": { + "version": "9.3.2", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "minimatch": "^7.4.1", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "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==", - "dev": true + "node_modules/glob-parent": { + "version": "5.1.2", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } }, - "lodash.capitalize": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz", - "integrity": "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==", - "dev": true + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "license": "BSD-2-Clause" }, - "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/global-dirs": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } }, - "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 + "node_modules/global-modules": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "lodash.isfunction": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", - "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", - "dev": true + "node_modules/global-prefix": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } }, - "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/global-prefix/node_modules/which": { + "version": "1.3.1", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } }, - "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==", - "dev": true + "node_modules/globals": { + "version": "11.12.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "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 + "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" + } }, - "lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", - "dev": true - }, - "lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==", - "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==", - "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.mergewith": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", - "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", - "dev": true - }, - "lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", - "dev": true - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", - "dev": true - }, - "lodash.startcase": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", - "dev": true + "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" + } }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "dev": true + "node_modules/gopd": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "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 + "node_modules/graceful-fs": { + "version": "4.2.11", + "license": "ISC" }, - "lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", - "dev": true + "node_modules/graphemer": { + "version": "1.4.0", + "dev": true, + "license": "MIT" }, - "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==", + "node_modules/gzip-size": { + "version": "6.0.0", "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, + "license": "MIT", "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" - } - } + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "loglevel": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz", - "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==", - "dev": true - }, - "longest": { + "node_modules/handle-thing": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz", - "integrity": "sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==", - "dev": true + "dev": true, + "license": "MIT" }, - "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" + "node_modules/handlebars": { + "version": "4.7.8", + "dev": true, + "license": "MIT", + "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" } }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "node_modules/hard-rejection": { + "version": "2.1.0", "dev": true, - "requires": { - "tslib": "^2.0.3" + "license": "MIT", + "engines": { + "node": ">=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==", - "requires": { - "yallist": "^3.0.2" + "node_modules/harmony-reflect": { + "version": "1.6.2", + "dev": true, + "license": "(Apache-2.0 OR MPL-1.1)" + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "requires": { - "@jridgewell/sourcemap-codec": "^1.4.13" + "node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=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==", + "node_modules/has-property-descriptors": { + "version": "1.0.1", "dev": true, - "requires": { - "semver": "^6.0.0" + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/has-proto": { + "version": "1.0.1", "dev": true, - "requires": { - "tmpl": "1.0.5" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "node_modules/has-symbols": { + "version": "1.0.3", "dev": true, - "requires": { - "p-defer": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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": { + "node_modules/has-tostringtag": { "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" + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "marked": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", - "dev": true - }, - "marked-terminal": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-5.2.0.tgz", - "integrity": "sha512-Piv6yNwAQXGFjZSaiNljyNFw7jKDdGrw70FSbtxEyldLsyeuV5ZHm/1wW++kWbrOF1VPnUgYOhB2oLL0ZpnekA==", + "node_modules/has-value": { + "version": "1.0.0", "dev": true, - "requires": { - "ansi-escapes": "^6.2.0", - "cardinal": "^2.1.1", - "chalk": "^5.2.0", - "cli-table3": "^0.6.3", - "node-emoji": "^1.11.0", - "supports-hyperlinks": "^2.3.0" - }, + "license": "MIT", "dependencies": { - "ansi-escapes": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz", - "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==", - "dev": true, - "requires": { - "type-fest": "^3.0.0" - } - }, - "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": "3.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", - "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", - "dev": true - } + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.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==", - "dev": true - }, - "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 - }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "node_modules/has-values": { + "version": "1.0.0", "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - }, + "license": "MIT", "dependencies": { - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "dev": true - } + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", "dev": true, - "requires": { - "fs-monkey": "^1.0.4" + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "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/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, + "license": "MIT", "dependencies": { - "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-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", "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" + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "merge": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz", - "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==", - "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==", - "dev": true - }, - "merge-stream": { + "node_modules/hasown": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "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==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "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==", - "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==", + "node_modules/he": { + "version": "1.2.0", "dev": true, - "requires": { - "mime-db": "1.52.0" + "license": "MIT", + "bin": { + "he": "bin/he" } }, - "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 - }, - "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 + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } }, - "mini-css-extract-plugin": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", - "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", + "node_modules/homedir-polyfill": { + "version": "1.0.3", "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" - }, + "license": "MIT", "dependencies": { - "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 - }, - "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 - }, - "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" - } - }, - "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" - } - } + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.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==", - "dev": true - }, - "minimatch": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", - "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", - "requires": { - "brace-expansion": "^2.0.1" + "node_modules/hook-std": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true - }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "node_modules/hoopy": { + "version": "0.1.4", "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" + "license": "MIT", + "engines": { + "node": ">= 6.0.0" } }, - "minipass": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==" - }, - "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/hosted-git-info": { + "version": "4.1.0", "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "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" - } - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "node_modules/hpack.js": { + "version": "2.1.6", "dev": true, - "requires": { - "minimist": "^1.2.6" + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" } }, - "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 + "node_modules/hpack.js/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" + } }, - "mrmime": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", - "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", - "dev": true + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" }, - "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/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } }, - "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==", + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", "dev": true, - "requires": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" } }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==", - "dev": true + "node_modules/html-entities": { + "version": "2.4.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true + "node_modules/html-escaper": { + "version": "2.0.2", + "dev": true, + "license": "MIT" }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "node_modules/html-minifier-terser": { + "version": "6.1.0", "dev": true, - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.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" } }, - "nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "8.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "node_modules/html-webpack-plugin": { + "version": "5.5.3", "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" + "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" } }, - "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/htmlparser2": { + "version": "6.1.0", + "dev": true, + "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" + } }, - "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/htmlparser2/node_modules/dom-serializer": { + "version": "1.4.1", + "dev": true, + "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" + } }, - "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 + "node_modules/htmlparser2/node_modules/domelementtype": { + "version": "2.3.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" }, - "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/htmlparser2/node_modules/domutils": { + "version": "2.8.0", + "dev": true, + "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" + } }, - "nerf-dart": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nerf-dart/-/nerf-dart-1.0.0.tgz", - "integrity": "sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==", - "dev": true + "node_modules/http-deceiver": { + "version": "1.2.7", + "dev": true, + "license": "MIT" }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "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" + } }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "node_modules/http-parser-js": { + "version": "0.5.8", "dev": true, - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "node_modules/http-proxy-agent": { + "version": "4.0.1", "dev": true, - "requires": { - "lodash": "^4.17.21" + "license": "MIT", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "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_modules/http-proxy-middleware": { + "version": "2.0.6", + "dev": true, + "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-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "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/https-proxy-agent": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } }, - "node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + "node_modules/human-signals": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } }, - "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==", + "node_modules/husky": { + "version": "8.0.3", "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" + "license": "MIT", + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "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/icss-utils": { + "version": "5.1.0", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/idb": { + "version": "7.1.1", + "dev": true, + "license": "ISC" + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "dev": true, + "license": "MIT", "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" - } + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + { + "type": "consulting", + "url": "https://feross.org/support" } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.2.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" } }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "node_modules/immer": { + "version": "9.0.21", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } }, - "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==", - "dev": true + "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" + } }, - "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 + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "npm": { - "version": "8.19.4", - "resolved": "https://registry.npmjs.org/npm/-/npm-8.19.4.tgz", - "integrity": "sha512-3HANl8i9DKnUA89P4KEgVNN28EjSeDCmvEqbzOAuxCFDzdBZzjUl99zgnGpOUumvW5lvJo2HKcjrsc+tfyv1Hw==", + "node_modules/import-from": { + "version": "4.0.0", "dev": true, - "requires": { - "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^5.6.3", - "@npmcli/ci-detect": "^2.0.0", - "@npmcli/config": "^4.2.1", - "@npmcli/fs": "^2.1.0", - "@npmcli/map-workspaces": "^2.0.3", - "@npmcli/package-json": "^2.0.0", - "@npmcli/run-script": "^4.2.1", - "abbrev": "~1.1.1", + "license": "MIT", + "engines": { + "node": ">=12.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "dev": true, + "license": "ISC" + }, + "node_modules/internal-ip": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/internal-ip/node_modules/cross-spawn": { + "version": "6.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/internal-ip/node_modules/default-gateway": { + "version": "4.2.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/internal-ip/node_modules/execa": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/internal-ip/node_modules/get-stream": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/internal-ip/node_modules/ipaddr.js": { + "version": "1.9.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/internal-ip/node_modules/is-stream": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/internal-ip/node_modules/npm-run-path": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/internal-ip/node_modules/path-key": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/internal-ip/node_modules/semver": { + "version": "5.7.2", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/internal-ip/node_modules/shebang-command": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/internal-ip/node_modules/shebang-regex": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/internal-ip/node_modules/which": { + "version": "1.3.1", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/internal-slot": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/into-stream": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "from2": "^2.3.0", + "p-is-promise": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/invert-kv": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ip": { + "version": "1.1.8", + "dev": true, + "license": "MIT" + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ipaddr.js": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-absolute-url": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "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, + "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", + "dev": true, + "license": "MIT" + }, + "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" + } + }, + "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-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", + "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-buffer": { + "version": "1.1.6", + "dev": true, + "license": "MIT" + }, + "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.13.1", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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-descriptor": { + "version": "0.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "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/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", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-in-cwd": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-path-inside": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-in-cwd/node_modules/is-path-inside": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "path-is-inside": "^1.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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", + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "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-text-path": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "text-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "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/is-utf8": { + "version": "0.2.1", + "dev": true, + "license": "MIT" + }, + "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" + }, + "funding": { + "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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/issue-parser": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "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" + } + }, + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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" + } + }, + "node_modules/jake": { + "version": "10.8.7", + "dev": true, + "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/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/java-properties": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/jest": { + "version": "27.5.1", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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-config": { + "version": "27.5.1", + "dev": true, + "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/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "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" + } + }, + "node_modules/jest-config/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jest-diff": { + "version": "27.5.1", + "dev": true, + "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-docblock": { + "version": "27.5.1", + "dev": true, + "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", + "dev": true, + "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-environment-jsdom": { + "version": "27.5.1", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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-leak-detector": { + "version": "27.5.1", + "dev": true, + "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", + "dev": true, + "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-message-util": { + "version": "27.5.1", + "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" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock": { + "version": "27.5.1", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "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" + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "dev": true, + "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", + "dev": true, + "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-runner": { + "version": "27.5.1", + "dev": true, + "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-runtime": { + "version": "27.5.1", + "dev": true, + "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/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "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" + } + }, + "node_modules/jest-runtime/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jest-serializer": { + "version": "27.5.1", + "dev": true, + "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", + "dev": true, + "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-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" + } + }, + "node_modules/jest-validate": { + "version": "27.5.1", + "dev": true, + "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/camelcase": { + "version": "6.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead": { + "version": "1.1.0", + "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" + }, + "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", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { + "version": "28.1.3", + "dev": true, + "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", + "dev": true, + "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.29", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watch-typeahead/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/jest-watch-typeahead/node_modules/emittery": { + "version": "0.10.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { + "version": "28.1.3", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { + "version": "28.0.2", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/pretty-format": { + "version": "28.1.3", + "dev": true, + "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/react-is": { + "version": "18.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "4.0.0", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/jest-watch-typeahead/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/jest-watch-typeahead/node_modules/strip-ansi/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/jest-watcher": { + "version": "27.5.1", + "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" + } + }, + "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/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/jest/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/jest/node_modules/jest-cli": { + "version": "27.5.1", + "dev": true, + "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/node_modules/yargs": { + "version": "16.2.0", + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "license": "MIT" + }, + "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/jsdom": { + "version": "16.7.0", + "dev": true, + "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/jsdom/node_modules/escodegen": { + "version": "2.1.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/jsdom/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jsdom/node_modules/tr46": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jsdom/node_modules/webidl-conversions": { + "version": "6.1.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/jsdom/node_modules/whatwg-url": { + "version": "8.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "license": "MIT" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "dev": true, + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "dev": true, + "license": "ISC" + }, + "node_modules/json5": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/jsonpath": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" + } + }, + "node_modules/jsonpath/node_modules/esprima": { + "version": "1.2.2", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "dev": true, + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "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" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/killable": { + "version": "1.0.1", + "dev": true, + "license": "ISC" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/launch-editor": { + "version": "2.6.1", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/lcid": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "dev": true, + "license": "MIT" + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/strip-bom": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "license": "MIT", + "engines": { + "node": ">=6.11.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" + } + }, + "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", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.capitalize": { + "version": "4.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.escape": { + "version": "4.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.escaperegexp": { + "version": "4.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.invokemap": { + "version": "4.6.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isfunction": { + "version": "3.0.9", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.ismatch": { + "version": "4.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.map": { + "version": "4.6.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.pullall": { + "version": "4.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.uniqby": { + "version": "4.7.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "dev": true, + "license": "MIT" + }, + "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" + } + }, + "node_modules/loglevel": { + "version": "1.8.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, + "node_modules/longest": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "10.0.1", + "license": "ISC", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/magic-string": { + "version": "0.27.0", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "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" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "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/map-age-cleaner": { + "version": "0.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "p-defer": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/marked": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/marked-terminal": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^6.2.0", + "cardinal": "^2.1.1", + "chalk": "^5.2.0", + "cli-table3": "^0.6.3", + "node-emoji": "^1.11.0", + "supports-hyperlinks": "^2.3.0" + }, + "engines": { + "node": ">=14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "marked": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" + } + }, + "node_modules/marked-terminal/node_modules/ansi-escapes": { + "version": "6.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/marked-terminal/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/marked-terminal/node_modules/type-fest": { + "version": "3.13.1", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mem": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mem/node_modules/p-is-promise": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "dev": true, + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "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/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/memory-fs/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/meow": { + "version": "8.1.2", + "dev": true, + "license": "MIT", + "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/merge": { + "version": "2.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "1.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "webpack-sources": "^1.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/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/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "dev": true, + "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/mini-css-extract-plugin/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/minimalistic-assert": { + "version": "1.0.1", + "dev": true, + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "7.4.6", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minipass": { + "version": "4.2.8", + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "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" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/modify-values": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mrmime": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multicast-dns-service-types": { + "version": "1.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "dev": true, + "license": "ISC" + }, + "node_modules/mz": { + "version": "2.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nan": { + "version": "2.18.0", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/nanoid": { + "version": "3.3.6", + "dev": true, + "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/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/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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "license": "MIT" + }, + "node_modules/nerf-dart": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/no-case": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "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-forge": { + "version": "1.3.1", + "dev": true, + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.13", + "license": "MIT" + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "dev": true, + "license": "BSD-2-Clause", + "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" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm": { + "version": "8.19.4", + "bundleDependencies": [ + "@isaacs/string-locale-compare", + "@npmcli/arborist", + "@npmcli/ci-detect", + "@npmcli/config", + "@npmcli/fs", + "@npmcli/map-workspaces", + "@npmcli/package-json", + "@npmcli/run-script", + "abbrev", + "archy", + "cacache", + "chalk", + "chownr", + "cli-columns", + "cli-table3", + "columnify", + "fastest-levenshtein", + "fs-minipass", + "glob", + "graceful-fs", + "hosted-git-info", + "ini", + "init-package-json", + "is-cidr", + "json-parse-even-better-errors", + "libnpmaccess", + "libnpmdiff", + "libnpmexec", + "libnpmfund", + "libnpmhook", + "libnpmorg", + "libnpmpack", + "libnpmpublish", + "libnpmsearch", + "libnpmteam", + "libnpmversion", + "make-fetch-happen", + "minimatch", + "minipass", + "minipass-pipeline", + "mkdirp", + "mkdirp-infer-owner", + "ms", + "node-gyp", + "nopt", + "npm-audit-report", + "npm-install-checks", + "npm-package-arg", + "npm-pick-manifest", + "npm-profile", + "npm-registry-fetch", + "npm-user-validate", + "npmlog", + "opener", + "p-map", + "pacote", + "parse-conflict-json", + "proc-log", + "qrcode-terminal", + "read", + "read-package-json", + "read-package-json-fast", + "readdir-scoped-modules", + "rimraf", + "semver", + "ssri", + "tar", + "text-table", + "tiny-relative-date", + "treeverse", + "validate-npm-package-name", + "which", + "write-file-atomic" + ], + "dev": true, + "license": "Artistic-2.0", + "workspaces": [ + "docs", + "smoke-tests", + "workspaces/*" + ], + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/arborist": "^5.6.3", + "@npmcli/ci-detect": "^2.0.0", + "@npmcli/config": "^4.2.1", + "@npmcli/fs": "^2.1.0", + "@npmcli/map-workspaces": "^2.0.3", + "@npmcli/package-json": "^2.0.0", + "@npmcli/run-script": "^4.2.1", + "abbrev": "~1.1.1", "archy": "~1.0.0", "cacache": "^16.1.3", "chalk": "^4.1.2", "chownr": "^2.0.0", - "cli-columns": "^4.0.0", - "cli-table3": "^0.6.2", - "columnify": "^1.6.0", - "fastest-levenshtein": "^1.0.12", + "cli-columns": "^4.0.0", + "cli-table3": "^0.6.2", + "columnify": "^1.6.0", + "fastest-levenshtein": "^1.0.12", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "graceful-fs": "^4.2.10", + "hosted-git-info": "^5.2.1", + "ini": "^3.0.1", + "init-package-json": "^3.0.2", + "is-cidr": "^4.0.2", + "json-parse-even-better-errors": "^2.3.1", + "libnpmaccess": "^6.0.4", + "libnpmdiff": "^4.0.5", + "libnpmexec": "^4.0.14", + "libnpmfund": "^3.0.5", + "libnpmhook": "^8.0.4", + "libnpmorg": "^4.0.4", + "libnpmpack": "^4.1.3", + "libnpmpublish": "^6.0.5", + "libnpmsearch": "^5.0.4", + "libnpmteam": "^4.0.4", + "libnpmversion": "^3.0.7", + "make-fetch-happen": "^10.2.0", + "minimatch": "^5.1.0", + "minipass": "^3.1.6", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "mkdirp-infer-owner": "^2.0.0", + "ms": "^2.1.2", + "node-gyp": "^9.1.0", + "nopt": "^6.0.0", + "npm-audit-report": "^3.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.1.0", + "npm-pick-manifest": "^7.0.2", + "npm-profile": "^6.2.0", + "npm-registry-fetch": "^13.3.1", + "npm-user-validate": "^1.0.1", + "npmlog": "^6.0.2", + "opener": "^1.5.2", + "p-map": "^4.0.0", + "pacote": "^13.6.2", + "parse-conflict-json": "^2.0.2", + "proc-log": "^2.0.1", + "qrcode-terminal": "^0.12.0", + "read": "~1.0.7", + "read-package-json": "^5.0.2", + "read-package-json-fast": "^2.0.3", + "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^9.0.1", + "tar": "^6.1.11", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "treeverse": "^2.0.0", + "validate-npm-package-name": "^4.0.0", + "which": "^2.0.2", + "write-file-atomic": "^4.0.1" + }, + "bin": { + "npm": "bin/npm-cli.js", + "npx": "bin/npx-cli.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/@colors/colors": { + "version": "1.5.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/npm/node_modules/@gar/promisify": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/@isaacs/string-locale-compare": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/arborist": { + "version": "5.6.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/map-workspaces": "^2.0.3", + "@npmcli/metavuln-calculator": "^3.0.1", + "@npmcli/move-file": "^2.0.0", + "@npmcli/name-from-folder": "^1.0.1", + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/package-json": "^2.0.0", + "@npmcli/query": "^1.2.0", + "@npmcli/run-script": "^4.1.3", + "bin-links": "^3.0.3", + "cacache": "^16.1.3", + "common-ancestor-path": "^1.0.1", + "hosted-git-info": "^5.2.1", + "json-parse-even-better-errors": "^2.3.1", + "json-stringify-nice": "^1.1.4", + "minimatch": "^5.1.0", + "mkdirp": "^1.0.4", + "mkdirp-infer-owner": "^2.0.0", + "nopt": "^6.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.0.0", + "npm-pick-manifest": "^7.0.2", + "npm-registry-fetch": "^13.0.0", + "npmlog": "^6.0.2", + "pacote": "^13.6.1", + "parse-conflict-json": "^2.0.1", + "proc-log": "^2.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^1.0.1", + "read-package-json-fast": "^2.0.2", + "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^9.0.0", + "treeverse": "^2.0.0", + "walk-up-path": "^1.0.0" + }, + "bin": { + "arborist": "bin/index.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/ci-detect": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/@npmcli/config": { + "version": "4.2.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/map-workspaces": "^2.0.2", + "ini": "^3.0.0", + "mkdirp-infer-owner": "^2.0.0", + "nopt": "^6.0.0", + "proc-log": "^2.0.0", + "read-package-json-fast": "^2.0.3", + "semver": "^7.3.5", + "walk-up-path": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/disparity-colors": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "ansi-styles": "^4.3.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/fs": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/git": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^3.0.0", + "lru-cache": "^7.4.4", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^7.0.0", + "proc-log": "^2.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/installed-package-contents": { + "version": "1.0.7", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "installed-package-contents": "index.js" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/@npmcli/installed-package-contents/node_modules/npm-bundled": { + "version": "1.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm/node_modules/@npmcli/map-workspaces": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/name-from-folder": "^1.0.1", + "glob": "^8.0.1", + "minimatch": "^5.0.1", + "read-package-json-fast": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cacache": "^16.0.0", + "json-parse-even-better-errors": "^2.3.1", + "pacote": "^13.0.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/move-file": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/name-from-folder": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/node-gyp": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/package-json": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/promise-spawn": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "infer-owner": "^1.0.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/query": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^9.1.0", + "postcss-selector-parser": "^6.0.10", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/run-script": { + "version": "4.2.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^2.0.3", + "which": "^2.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@tootallnate/once": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/abbrev": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/agent-base": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/npm/node_modules/agentkeepalive": { + "version": "4.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/npm/node_modules/aggregate-error": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm/node_modules/aproba": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/archy": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/are-we-there-yet": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/asap": { + "version": "2.0.6", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/bin-links": { + "version": "3.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cmd-shim": "^5.0.0", + "mkdirp-infer-owner": "^2.0.0", + "npm-normalize-package-bin": "^2.0.0", + "read-cmd-shim": "^3.0.0", + "rimraf": "^3.0.0", + "write-file-atomic": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/bin-links/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/binary-extensions": { + "version": "2.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/npm/node_modules/builtins": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/npm/node_modules/cacache": { + "version": "16.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "inBundle": 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/npm/node_modules/chownr": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/cidr-regex": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "ip-regex": "^4.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/clean-stack": { + "version": "2.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/cli-columns": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/cli-table3": { + "version": "0.6.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/npm/node_modules/clone": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/cmd-shim": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "mkdirp-infer-owner": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/npm/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/color-support": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/npm/node_modules/columnify": { + "version": "1.6.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/npm/node_modules/common-ancestor-path": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/console-control-strings": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/cssesc": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/npm/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/debuglog": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/defaults": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/npm/node_modules/delegates": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/depd": { + "version": "1.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/dezalgo": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/diff": { + "version": "5.1.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/npm/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/encoding": { + "version": "0.1.13", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/npm/node_modules/env-paths": { + "version": "2.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/err-code": { + "version": "2.0.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fastest-levenshtein": { + "version": "1.0.12", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fs-minipass": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/function-bind": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/gauge": { + "version": "4.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/glob": { + "version": "8.0.3", + "dev": true, + "inBundle": 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" + } + }, + "node_modules/npm/node_modules/graceful-fs": { + "version": "4.2.10", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/has": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/npm/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/has-unicode": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/hosted-git-info": { + "version": "5.2.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/http-cache-semantics": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/http-proxy-agent": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/https-proxy-agent": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/humanize-ms": { + "version": "1.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/npm/node_modules/iconv-lite": { + "version": "0.6.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/ignore-walk": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minimatch": "^5.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/npm/node_modules/indent-string": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/infer-owner": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/ini": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/init-package-json": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^9.0.1", + "promzard": "^0.3.0", + "read": "^1.0.7", + "read-package-json": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/ip": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/ip-regex": { + "version": "4.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/is-cidr": { + "version": "4.0.2", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "cidr-regex": "^3.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/is-core-module": { + "version": "2.10.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/npm/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/is-lambda": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/json-stringify-nice": { + "version": "1.1.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/jsonparse": { + "version": "1.3.1", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff": { + "version": "5.1.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff-apply": { + "version": "5.4.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/libnpmaccess": { + "version": "6.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "minipass": "^3.1.1", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmdiff": { + "version": "4.0.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/disparity-colors": "^2.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "binary-extensions": "^2.2.0", + "diff": "^5.1.0", + "minimatch": "^5.0.1", + "npm-package-arg": "^9.0.1", + "pacote": "^13.6.1", + "tar": "^6.1.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmexec": { + "version": "4.0.14", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^5.6.3", + "@npmcli/ci-detect": "^2.0.0", + "@npmcli/fs": "^2.1.1", + "@npmcli/run-script": "^4.2.0", + "chalk": "^4.1.0", + "mkdirp-infer-owner": "^2.0.0", + "npm-package-arg": "^9.0.1", + "npmlog": "^6.0.2", + "pacote": "^13.6.1", + "proc-log": "^2.0.0", + "read": "^1.0.7", + "read-package-json-fast": "^2.0.2", + "semver": "^7.3.7", + "walk-up-path": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmfund": { + "version": "3.0.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^5.6.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmhook": { + "version": "8.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^13.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmorg": { + "version": "4.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^13.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmpack": { + "version": "4.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/run-script": "^4.1.3", + "npm-package-arg": "^9.0.1", + "pacote": "^13.6.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmpublish": { + "version": "6.0.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "normalize-package-data": "^4.0.0", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0", + "semver": "^7.3.7", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmsearch": { + "version": "5.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^13.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmteam": { + "version": "4.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^13.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmversion": { + "version": "3.0.7", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^3.0.0", + "@npmcli/run-script": "^4.1.3", + "json-parse-even-better-errors": "^2.3.1", + "proc-log": "^2.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/lru-cache": { + "version": "7.13.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/npm/node_modules/make-fetch-happen": { + "version": "10.2.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/minimatch": { + "version": "5.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/minipass": { + "version": "3.3.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-collect": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minipass-fetch": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/npm/node_modules/minipass-flush": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minipass-json-stream": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/npm/node_modules/minipass-pipeline": { + "version": "1.2.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-sized": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minizlib": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/mkdirp": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/mkdirp-infer-owner": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "infer-owner": "^1.0.4", + "mkdirp": "^1.0.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/ms": { + "version": "2.1.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/mute-stream": { + "version": "0.0.8", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/negotiator": { + "version": "0.6.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/node-gyp": { + "version": "9.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^12.22 || ^14.13 || >=16" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "inBundle": 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/npm/node_modules/node-gyp/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/nopt": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/nopt": { + "version": "6.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/normalize-package-data": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-audit-report": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "chalk": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-bundled": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-bundled/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-install-checks": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/npm-package-arg": { + "version": "9.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-packlist": { + "version": "5.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^8.0.1", + "ignore-walk": "^5.0.1", + "npm-bundled": "^2.0.0", + "npm-normalize-package-bin": "^2.0.0" + }, + "bin": { + "npm-packlist": "bin/index.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-packlist/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-pick-manifest": { + "version": "7.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^5.0.0", + "npm-normalize-package-bin": "^2.0.0", + "npm-package-arg": "^9.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-profile": { + "version": "6.2.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-registry-fetch": { + "version": "13.3.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "make-fetch-happen": "^10.0.6", + "minipass": "^3.1.6", + "minipass-fetch": "^2.0.3", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^9.0.1", + "proc-log": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-user-validate": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/npmlog": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/once": { + "version": "1.4.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/opener": { + "version": "1.5.2", + "dev": true, + "inBundle": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/npm/node_modules/p-map": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/pacote": { + "version": "13.6.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^3.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/run-script": "^4.1.0", + "cacache": "^16.0.0", + "chownr": "^2.0.0", "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "graceful-fs": "^4.2.10", - "hosted-git-info": "^5.2.1", - "ini": "^3.0.1", - "init-package-json": "^3.0.2", - "is-cidr": "^4.0.2", - "json-parse-even-better-errors": "^2.3.1", - "libnpmaccess": "^6.0.4", - "libnpmdiff": "^4.0.5", - "libnpmexec": "^4.0.14", - "libnpmfund": "^3.0.5", - "libnpmhook": "^8.0.4", - "libnpmorg": "^4.0.4", - "libnpmpack": "^4.1.3", - "libnpmpublish": "^6.0.5", - "libnpmsearch": "^5.0.4", - "libnpmteam": "^4.0.4", - "libnpmversion": "^3.0.7", - "make-fetch-happen": "^10.2.0", - "minimatch": "^5.1.0", + "infer-owner": "^1.0.4", "minipass": "^3.1.6", - "minipass-pipeline": "^1.2.4", "mkdirp": "^1.0.4", - "mkdirp-infer-owner": "^2.0.0", - "ms": "^2.1.2", - "node-gyp": "^9.1.0", - "nopt": "^6.0.0", - "npm-audit-report": "^3.0.0", - "npm-install-checks": "^5.0.0", - "npm-package-arg": "^9.1.0", - "npm-pick-manifest": "^7.0.2", - "npm-profile": "^6.2.0", - "npm-registry-fetch": "^13.3.1", - "npm-user-validate": "^1.0.1", - "npmlog": "^6.0.2", - "opener": "^1.5.2", - "p-map": "^4.0.0", - "pacote": "^13.6.2", - "parse-conflict-json": "^2.0.2", - "proc-log": "^2.0.1", - "qrcode-terminal": "^0.12.0", - "read": "~1.0.7", - "read-package-json": "^5.0.2", + "npm-package-arg": "^9.0.0", + "npm-packlist": "^5.1.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^5.0.0", "read-package-json-fast": "^2.0.3", - "readdir-scoped-modules": "^1.1.0", "rimraf": "^3.0.2", - "semver": "^7.3.7", - "ssri": "^9.0.1", - "tar": "^6.1.11", - "text-table": "~0.2.0", - "tiny-relative-date": "^1.3.0", - "treeverse": "^2.0.0", - "validate-npm-package-name": "^4.0.0", - "which": "^2.0.2", - "write-file-atomic": "^4.0.1" + "ssri": "^9.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/parse-conflict-json": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.1", + "just-diff": "^5.0.1", + "just-diff-apply": "^5.2.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/postcss-selector-parser": { + "version": "6.0.10", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/proc-log": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/promise-all-reject-late": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-call-limit": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-inflight": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/promise-retry": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/promzard": { + "version": "0.3.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "read": "1" + } + }, + "node_modules/npm/node_modules/qrcode-terminal": { + "version": "0.12.0", + "dev": true, + "inBundle": true, + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/npm/node_modules/read": { + "version": "1.0.7", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "mute-stream": "~0.0.4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/read-cmd-shim": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/read-package-json": { + "version": "5.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^8.0.1", + "json-parse-even-better-errors": "^2.3.1", + "normalize-package-data": "^4.0.0", + "npm-normalize-package-bin": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/read-package-json-fast": { + "version": "2.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/read-package-json/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/readable-stream": { + "version": "3.6.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/readdir-scoped-modules": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "node_modules/npm/node_modules/retry": { + "version": "0.12.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/rimraf": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/npm/node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "inBundle": 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/npm/node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/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" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/npm/node_modules/semver": { + "version": "7.3.7", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/signal-exit": { + "version": "3.0.7", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/smart-buffer": { + "version": "4.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks": { + "version": "2.7.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks-proxy-agent": { + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/spdx-correct": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-exceptions": { + "version": "2.3.0", + "dev": true, + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/npm/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-license-ids": { + "version": "3.0.11", + "dev": true, + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/npm/node_modules/ssri": { + "version": "9.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/string_decoder": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/npm/node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "inBundle": 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/npm/node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/tar": { + "version": "6.1.11", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tiny-relative-date": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/treeverse": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/unique-filename": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/unique-slug": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/validate-npm-package-license": { + "version": "3.0.4", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/npm/node_modules/validate-npm-package-name": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/walk-up-path": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/wcwidth": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/npm/node_modules/which": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/wide-align": { + "version": "1.1.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/npm/node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/write-file-atomic": { + "version": "4.0.2", + "dev": true, + "inBundle": 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/npm/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/nth-check": { + "version": "1.0.2", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "dev": true, + "license": "MIT" + }, + "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": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/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/object-hash": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "dev": true, + "license": "MIT", + "funding": { + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "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.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" + } + }, + "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" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.7", + "dev": true, + "license": "MIT", + "dependencies": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.1", + "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" + } + }, + "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" + } + }, + "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.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" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "dev": true, + "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/open": { + "version": "8.4.2", + "dev": true, + "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/opener": { + "version": "1.5.2", + "dev": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/opn": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/opn/node_modules/is-wsl": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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" + } + }, + "node_modules/os-locale": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/os-locale/node_modules/cross-spawn": { + "version": "6.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/os-locale/node_modules/execa": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/os-locale/node_modules/get-stream": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/os-locale/node_modules/is-stream": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-locale/node_modules/npm-run-path": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/os-locale/node_modules/path-key": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/os-locale/node_modules/semver": { + "version": "5.7.2", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/os-locale/node_modules/shebang-command": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-locale/node_modules/shebang-regex": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-locale/node_modules/which": { + "version": "1.3.1", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-defer": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-each-series": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-filter": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-map": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-filter/node_modules/p-map": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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-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" + } + }, + "node_modules/p-reduce": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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/parse-passwd": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "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", + "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.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-scurry/node_modules/minipass": { + "version": "7.0.4", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "dev": true, + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "dev": true, + "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": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "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.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-conf": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/find-up": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/locate-path": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/p-limit": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/p-locate": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/p-try": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/path-exists": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "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/pkg-up": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/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" + } + }, + "node_modules/pkg-up/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-up/node_modules/p-locate": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/portfinder": { + "version": "1.0.32", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/async": { + "version": "2.6.4", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "license": "CC0-1.0", + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "browserslist": ">=4", + "postcss": ">=8" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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.3", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 14" + } + }, + "node_modules/postcss-loader": { + "version": "7.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.2.0", + "jiti": "^1.18.2", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 14.15.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", + "dev": true, + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.3", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.5", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "6.0.1", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "dev": true, + "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/css-select": { + "version": "4.3.0", + "dev": true, + "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/postcss-svgo/node_modules/css-tree": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/postcss-svgo/node_modules/css-what": { + "version": "6.1.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/postcss-svgo/node_modules/dom-serializer": { + "version": "1.4.1", + "dev": true, + "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/postcss-svgo/node_modules/domelementtype": { + "version": "2.3.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/postcss-svgo/node_modules/domutils": { + "version": "2.8.0", + "dev": true, + "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/postcss-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/postcss-svgo/node_modules/nth-check": { + "version": "2.1.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/postcss-svgo/node_modules/svgo": { + "version": "2.8.0", + "dev": true, + "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", + "dev": true, + "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", + "dev": true, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "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/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/pretty-format/node_modules/react-is": { + "version": "17.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/progress": { + "version": "2.0.3", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise": { + "version": "8.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "asap": "~2.0.6" + } + }, + "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/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" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "dev": true, + "license": "ISC" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/prr": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/psl": { + "version": "1.9.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/punycode": { + "version": "2.3.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "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/querystringify": { + "version": "2.2.0", + "dev": true, + "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/quick-lru": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/raf": { + "version": "3.4.1", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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", + "dev": true, + "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-app-polyfill/node_modules/regenerator-runtime": { + "version": "0.13.11", + "dev": true, + "license": "MIT" + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "dev": true, + "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/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/global-modules": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/react-dev-utils/node_modules/global-prefix": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/which": { + "version": "1.3.1", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "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", + "dev": true, + "license": "MIT" + }, + "node_modules/react-is": { + "version": "16.13.1", + "license": "MIT" + }, + "node_modules/react-refresh": { + "version": "0.11.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-scripts": { + "version": "5.0.1", + "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" + }, + "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-scripts/node_modules/camelcase": { + "version": "6.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-scripts/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" + } + }, + "node_modules/react-scripts/node_modules/dotenv": { + "version": "10.0.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=10" + } + }, + "node_modules/react-scripts/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" + } + }, + "node_modules/react-scripts/node_modules/mini-css-extract-plugin": { + "version": "2.7.6", + "dev": true, + "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/react-scripts/node_modules/postcss-loader": { + "version": "6.2.1", + "dev": true, + "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/react-scripts/node_modules/webpack-dev-server": { + "version": "4.15.1", + "dev": true, + "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/react-scripts/node_modules/ws": { + "version": "8.14.2", + "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/read-cache": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-cache/node_modules/pify": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@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": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "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" + } + }, + "node_modules/read-pkg-up/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/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/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/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "dev": true, + "license": "ISC" + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "dev": true, + "license": "BSD-2-Clause", + "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/read-pkg/node_modules/semver": { + "version": "5.7.2", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "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/readdirp": { + "version": "3.6.0", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.7.1", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve": "^1.9.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recoil": { + "version": "0.1.3", + "license": "MIT", + "peerDependencies": { + "react": ">=16.13.1" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/recursive-readdir/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/recursive-readdir/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/redeyed": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "esprima": "~4.0.0" + } + }, + "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" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "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/regex-parser": { + "version": "2.2.11", + "dev": true, + "license": "MIT" + }, + "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" + } + }, + "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" + } + }, + "node_modules/registry-auth-token": { + "version": "5.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@pnpm/npm-conf": "^2.1.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "dev": true, + "license": "ISC" + }, + "node_modules/renderkid": { + "version": "3.0.0", + "dev": true, + "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/renderkid/node_modules/css-select": { + "version": "4.3.0", + "dev": true, + "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/renderkid/node_modules/css-what": { + "version": "6.1.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/renderkid/node_modules/dom-serializer": { + "version": "1.4.1", + "dev": true, + "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/renderkid/node_modules/domelementtype": { + "version": "2.3.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "2.8.0", + "dev": true, + "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/renderkid/node_modules/nth-check": { + "version": "2.1.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "1.0.1", + "dev": true, + "license": "ISC" + }, + "node_modules/requires-port": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/rescript": { + "version": "10.1.4", + "hasInstallScript": true, + "license": "SEE LICENSE IN LICENSE", + "bin": { + "bsc": "bsc", + "bsrefmt": "bsrefmt", + "bstracing": "lib/bstracing", + "rescript": "rescript" + } + }, + "node_modules/rescript-webapi": { + "version": "0.7.0", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.8", + "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/resolve-cwd": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-global": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "global-dirs": "^0.1.1" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve-url-loader": { + "version": "4.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "@colors/colors": { - "version": "1.5.0", - "bundled": true, - "dev": true, + "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 }, - "@gar/promisify": { - "version": "1.1.3", - "bundled": true, - "dev": true - }, - "@isaacs/string-locale-compare": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "@npmcli/arborist": { - "version": "5.6.3", - "bundled": true, - "dev": true, - "requires": { - "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/map-workspaces": "^2.0.3", - "@npmcli/metavuln-calculator": "^3.0.1", - "@npmcli/move-file": "^2.0.0", - "@npmcli/name-from-folder": "^1.0.1", - "@npmcli/node-gyp": "^2.0.0", - "@npmcli/package-json": "^2.0.0", - "@npmcli/query": "^1.2.0", - "@npmcli/run-script": "^4.1.3", - "bin-links": "^3.0.3", - "cacache": "^16.1.3", - "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^5.2.1", - "json-parse-even-better-errors": "^2.3.1", - "json-stringify-nice": "^1.1.4", - "minimatch": "^5.1.0", - "mkdirp": "^1.0.4", - "mkdirp-infer-owner": "^2.0.0", - "nopt": "^6.0.0", - "npm-install-checks": "^5.0.0", - "npm-package-arg": "^9.0.0", - "npm-pick-manifest": "^7.0.2", - "npm-registry-fetch": "^13.0.0", - "npmlog": "^6.0.2", - "pacote": "^13.6.1", - "parse-conflict-json": "^2.0.1", - "proc-log": "^2.0.0", - "promise-all-reject-late": "^1.0.0", - "promise-call-limit": "^1.0.1", - "read-package-json-fast": "^2.0.2", - "readdir-scoped-modules": "^1.1.0", - "rimraf": "^3.0.2", - "semver": "^7.3.7", - "ssri": "^9.0.0", - "treeverse": "^2.0.0", - "walk-up-path": "^1.0.0" - } - }, - "@npmcli/ci-detect": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "@npmcli/config": { - "version": "4.2.2", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/map-workspaces": "^2.0.2", - "ini": "^3.0.0", - "mkdirp-infer-owner": "^2.0.0", - "nopt": "^6.0.0", - "proc-log": "^2.0.0", - "read-package-json-fast": "^2.0.3", - "semver": "^7.3.5", - "walk-up-path": "^1.0.0" - } - }, - "@npmcli/disparity-colors": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "^4.3.0" - } - }, - "@npmcli/fs": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "requires": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - } - }, - "@npmcli/git": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/promise-spawn": "^3.0.0", - "lru-cache": "^7.4.4", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^7.0.0", - "proc-log": "^2.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^2.0.2" - } - }, - "@npmcli/installed-package-contents": { - "version": "1.0.7", - "bundled": true, - "dev": true, - "requires": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" - }, - "dependencies": { - "npm-bundled": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - } - } - }, - "@npmcli/map-workspaces": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/name-from-folder": "^1.0.1", - "glob": "^8.0.1", - "minimatch": "^5.0.1", - "read-package-json-fast": "^2.0.3" - } - }, - "@npmcli/metavuln-calculator": { - "version": "3.1.1", - "bundled": true, - "dev": true, - "requires": { - "cacache": "^16.0.0", - "json-parse-even-better-errors": "^2.3.1", - "pacote": "^13.0.3", - "semver": "^7.3.5" - } - }, - "@npmcli/move-file": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - } - }, - "@npmcli/name-from-folder": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "@npmcli/node-gyp": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "@npmcli/package-json": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "json-parse-even-better-errors": "^2.3.1" - } - }, - "@npmcli/promise-spawn": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "infer-owner": "^1.0.4" - } - }, - "@npmcli/query": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "npm-package-arg": "^9.1.0", - "postcss-selector-parser": "^6.0.10", - "semver": "^7.3.7" - } - }, - "@npmcli/run-script": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/node-gyp": "^2.0.0", - "@npmcli/promise-spawn": "^3.0.0", - "node-gyp": "^9.0.0", - "read-package-json-fast": "^2.0.3", - "which": "^2.0.2" - } - }, - "@tootallnate/once": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "bundled": true, - "dev": true, - "requires": { - "debug": "4" - } - }, - "agentkeepalive": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "requires": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" - } - }, - "aggregate-error": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ansi-regex": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "bundled": true, - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "aproba": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "archy": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "are-we-there-yet": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "asap": { - "version": "2.0.6", - "bundled": true, - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "bin-links": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "requires": { - "cmd-shim": "^5.0.0", - "mkdirp-infer-owner": "^2.0.0", - "npm-normalize-package-bin": "^2.0.0", - "read-cmd-shim": "^3.0.0", - "rimraf": "^3.0.0", - "write-file-atomic": "^4.0.0" - }, - "dependencies": { - "npm-normalize-package-bin": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "binary-extensions": { - "version": "2.2.0", - "bundled": true, - "dev": true - }, - "brace-expansion": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "builtins": { - "version": "5.0.1", - "bundled": true, - "dev": true, - "requires": { - "semver": "^7.0.0" - } - }, - "cacache": { - "version": "16.1.3", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - } - }, - "chalk": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chownr": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "cidr-regex": { - "version": "3.1.1", - "bundled": true, - "dev": true, - "requires": { - "ip-regex": "^4.1.0" - } - }, - "clean-stack": { - "version": "2.2.0", - "bundled": true, - "dev": true - }, - "cli-columns": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - } - }, - "cli-table3": { - "version": "0.6.2", - "bundled": true, - "dev": true, - "requires": { - "@colors/colors": "1.5.0", - "string-width": "^4.2.0" - } - }, - "clone": { - "version": "1.0.4", - "bundled": true, - "dev": true - }, - "cmd-shim": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "mkdirp-infer-owner": "^2.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "bundled": true, - "dev": true - }, - "color-support": { - "version": "1.1.3", - "bundled": true, - "dev": true - }, - "columnify": { - "version": "1.6.0", - "bundled": true, - "dev": true, - "requires": { - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.0" - } - }, - "common-ancestor-path": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "debug": { - "version": "4.3.4", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "bundled": true, - "dev": true - } - } - }, - "debuglog": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "defaults": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "depd": { - "version": "1.1.2", - "bundled": true, - "dev": true - }, - "dezalgo": { - "version": "1.0.4", - "bundled": true, - "dev": true, - "requires": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, - "diff": { - "version": "5.1.0", - "bundled": true, - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "bundled": true, - "dev": true - }, - "encoding": { - "version": "0.1.13", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "iconv-lite": "^0.6.2" - } - }, - "env-paths": { - "version": "2.2.1", - "bundled": true, - "dev": true - }, - "err-code": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.12", - "bundled": true, - "dev": true - }, - "fs-minipass": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "function-bind": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "gauge": { - "version": "4.0.4", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "glob": { - "version": "8.0.3", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "graceful-fs": { - "version": "4.2.10", - "bundled": true, - "dev": true - }, - "has": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "hosted-git-info": { - "version": "5.2.1", - "bundled": true, - "dev": true, - "requires": { - "lru-cache": "^7.5.1" - } - }, - "http-cache-semantics": { - "version": "4.1.1", - "bundled": true, - "dev": true - }, - "http-proxy-agent": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "humanize-ms": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "requires": { - "ms": "^2.0.0" - } - }, - "iconv-lite": { - "version": "0.6.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "ignore-walk": { - "version": "5.0.1", - "bundled": true, - "dev": true, - "requires": { - "minimatch": "^5.0.1" - } - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "bundled": true, - "dev": true - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "bundled": true, - "dev": true - }, - "ini": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "init-package-json": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "requires": { - "npm-package-arg": "^9.0.1", - "promzard": "^0.3.0", - "read": "^1.0.7", - "read-package-json": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^4.0.0" - } - }, - "ip": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "ip-regex": { - "version": "4.3.0", - "bundled": true, - "dev": true - }, - "is-cidr": { - "version": "4.0.2", - "bundled": true, - "dev": true, - "requires": { - "cidr-regex": "^3.1.1" - } - }, - "is-core-module": { - "version": "2.10.0", - "bundled": true, - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "is-lambda": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "isexe": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "bundled": true, - "dev": true - }, - "json-stringify-nice": { - "version": "1.1.4", - "bundled": true, - "dev": true - }, - "jsonparse": { - "version": "1.3.1", - "bundled": true, - "dev": true - }, - "just-diff": { - "version": "5.1.1", - "bundled": true, - "dev": true - }, - "just-diff-apply": { - "version": "5.4.1", - "bundled": true, - "dev": true - }, - "libnpmaccess": { - "version": "6.0.4", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^2.0.0", - "minipass": "^3.1.1", - "npm-package-arg": "^9.0.1", - "npm-registry-fetch": "^13.0.0" - } - }, - "libnpmdiff": { - "version": "4.0.5", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/disparity-colors": "^2.0.0", - "@npmcli/installed-package-contents": "^1.0.7", - "binary-extensions": "^2.2.0", - "diff": "^5.1.0", - "minimatch": "^5.0.1", - "npm-package-arg": "^9.0.1", - "pacote": "^13.6.1", - "tar": "^6.1.0" - } - }, - "libnpmexec": { - "version": "4.0.14", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/arborist": "^5.6.3", - "@npmcli/ci-detect": "^2.0.0", - "@npmcli/fs": "^2.1.1", - "@npmcli/run-script": "^4.2.0", - "chalk": "^4.1.0", - "mkdirp-infer-owner": "^2.0.0", - "npm-package-arg": "^9.0.1", - "npmlog": "^6.0.2", - "pacote": "^13.6.1", - "proc-log": "^2.0.0", - "read": "^1.0.7", - "read-package-json-fast": "^2.0.2", - "semver": "^7.3.7", - "walk-up-path": "^1.0.0" - } - }, - "libnpmfund": { - "version": "3.0.5", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/arborist": "^5.6.3" - } - }, - "libnpmhook": { - "version": "8.0.4", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^2.0.0", - "npm-registry-fetch": "^13.0.0" - } - }, - "libnpmorg": { - "version": "4.0.4", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^2.0.0", - "npm-registry-fetch": "^13.0.0" - } - }, - "libnpmpack": { - "version": "4.1.3", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/run-script": "^4.1.3", - "npm-package-arg": "^9.0.1", - "pacote": "^13.6.1" - } - }, - "libnpmpublish": { - "version": "6.0.5", - "bundled": true, - "dev": true, - "requires": { - "normalize-package-data": "^4.0.0", - "npm-package-arg": "^9.0.1", - "npm-registry-fetch": "^13.0.0", - "semver": "^7.3.7", - "ssri": "^9.0.0" - } - }, - "libnpmsearch": { - "version": "5.0.4", - "bundled": true, - "dev": true, - "requires": { - "npm-registry-fetch": "^13.0.0" - } - }, - "libnpmteam": { - "version": "4.0.4", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^2.0.0", - "npm-registry-fetch": "^13.0.0" - } - }, - "libnpmversion": { - "version": "3.0.7", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/git": "^3.0.0", - "@npmcli/run-script": "^4.1.3", - "json-parse-even-better-errors": "^2.3.1", - "proc-log": "^2.0.0", - "semver": "^7.3.7" - } - }, - "lru-cache": { - "version": "7.13.2", - "bundled": true, - "dev": true - }, - "make-fetch-happen": { - "version": "10.2.1", - "bundled": true, - "dev": true, - "requires": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - } - }, - "minimatch": { - "version": "5.1.0", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minipass": { - "version": "3.3.4", - "bundled": true, - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "minipass-collect": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-fetch": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "encoding": "^0.1.13", - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - } - }, - "minipass-flush": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-json-stream": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-sized": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "bundled": true, - "dev": true - }, - "mkdirp-infer-owner": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "chownr": "^2.0.0", - "infer-owner": "^1.0.4", - "mkdirp": "^1.0.3" - } - }, - "ms": { - "version": "2.1.3", - "bundled": true, - "dev": true - }, - "mute-stream": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "negotiator": { - "version": "0.6.3", - "bundled": true, - "dev": true - }, - "node-gyp": { - "version": "9.1.0", - "bundled": true, - "dev": true, - "requires": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", - "nopt": "^5.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "glob": { - "version": "7.2.3", - "bundled": true, - "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", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "nopt": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "abbrev": "1" - } - } - } - }, - "nopt": { - "version": "6.0.0", - "bundled": true, - "dev": true, - "requires": { - "abbrev": "^1.0.0" - } - }, - "normalize-package-data": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "^5.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - } - }, - "npm-audit-report": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "chalk": "^4.0.0" - } - }, - "npm-bundled": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "npm-normalize-package-bin": "^2.0.0" - }, - "dependencies": { - "npm-normalize-package-bin": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "npm-install-checks": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "semver": "^7.1.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "npm-package-arg": { - "version": "9.1.0", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" - } - }, - "npm-packlist": { - "version": "5.1.3", - "bundled": true, - "dev": true, - "requires": { - "glob": "^8.0.1", - "ignore-walk": "^5.0.1", - "npm-bundled": "^2.0.0", - "npm-normalize-package-bin": "^2.0.0" - }, - "dependencies": { - "npm-normalize-package-bin": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "npm-pick-manifest": { - "version": "7.0.2", - "bundled": true, - "dev": true, - "requires": { - "npm-install-checks": "^5.0.0", - "npm-normalize-package-bin": "^2.0.0", - "npm-package-arg": "^9.0.0", - "semver": "^7.3.5" - }, - "dependencies": { - "npm-normalize-package-bin": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "npm-profile": { - "version": "6.2.1", - "bundled": true, - "dev": true, - "requires": { - "npm-registry-fetch": "^13.0.1", - "proc-log": "^2.0.0" - } - }, - "npm-registry-fetch": { - "version": "13.3.1", - "bundled": true, - "dev": true, - "requires": { - "make-fetch-happen": "^10.0.6", - "minipass": "^3.1.6", - "minipass-fetch": "^2.0.3", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^9.0.1", - "proc-log": "^2.0.0" - } - }, - "npm-user-validate": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "npmlog": { - "version": "6.0.2", - "bundled": true, - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "opener": { - "version": "1.5.2", - "bundled": true, - "dev": true - }, - "p-map": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "pacote": { - "version": "13.6.2", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/git": "^3.0.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/run-script": "^4.1.0", - "cacache": "^16.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "minipass": "^3.1.6", - "mkdirp": "^1.0.4", - "npm-package-arg": "^9.0.0", - "npm-packlist": "^5.1.0", - "npm-pick-manifest": "^7.0.0", - "npm-registry-fetch": "^13.0.1", - "proc-log": "^2.0.0", - "promise-retry": "^2.0.1", - "read-package-json": "^5.0.0", - "read-package-json-fast": "^2.0.3", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11" - } - }, - "parse-conflict-json": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "json-parse-even-better-errors": "^2.3.1", - "just-diff": "^5.0.1", - "just-diff-apply": "^5.2.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "postcss-selector-parser": { - "version": "6.0.10", - "bundled": true, - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "proc-log": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "promise-all-reject-late": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "promise-call-limit": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "promise-retry": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - } - }, - "promzard": { - "version": "0.3.0", - "bundled": true, - "dev": true, - "requires": { - "read": "1" - } - }, - "qrcode-terminal": { - "version": "0.12.0", - "bundled": true, - "dev": true - }, - "read": { - "version": "1.0.7", - "bundled": true, - "dev": true, - "requires": { - "mute-stream": "~0.0.4" - } - }, - "read-cmd-shim": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "read-package-json": { - "version": "5.0.2", - "bundled": true, - "dev": true, - "requires": { - "glob": "^8.0.1", - "json-parse-even-better-errors": "^2.3.1", - "normalize-package-data": "^4.0.0", - "npm-normalize-package-bin": "^2.0.0" - }, - "dependencies": { - "npm-normalize-package-bin": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "read-package-json-fast": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "requires": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "readable-stream": { - "version": "3.6.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdir-scoped-modules": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } - }, - "retry": { - "version": "0.12.0", - "bundled": true, - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "requires": { - "glob": "^7.1.3" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "glob": { - "version": "7.2.3", - "bundled": true, - "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", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "safe-buffer": { - "version": "5.2.1", - "bundled": true, - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, + "rework-visit": { "optional": true - }, - "semver": { - "version": "7.3.7", - "bundled": true, - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "bundled": true, - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "signal-exit": { - "version": "3.0.7", - "bundled": true, - "dev": true - }, - "smart-buffer": { - "version": "4.2.0", - "bundled": true, - "dev": true - }, - "socks": { - "version": "2.7.0", - "bundled": true, - "dev": true, - "requires": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - } - }, - "socks-proxy-agent": { - "version": "7.0.0", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - } - }, - "spdx-correct": { - "version": "3.1.1", - "bundled": true, - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "bundled": true, - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.11", - "bundled": true, - "dev": true - }, - "ssri": { - "version": "9.0.1", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "string-width": { - "version": "4.2.3", - "bundled": true, - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string_decoder": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "bundled": true, - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "tar": { - "version": "6.1.11", - "bundled": true, - "dev": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - } - }, - "text-table": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "tiny-relative-date": { - "version": "1.3.0", - "bundled": true, - "dev": true - }, - "treeverse": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "unique-filename": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "unique-slug": "^3.0.0" - } - }, - "unique-slug": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "validate-npm-package-name": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "builtins": "^5.0.0" - } - }, - "walk-up-path": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "wcwidth": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "which": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wide-align": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "write-file-atomic": { - "version": "4.0.2", - "bundled": true, - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } - }, - "yallist": { - "version": "4.0.0", - "bundled": true, - "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==", + "node_modules/resolve-url-loader/node_modules/convert-source-map": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve-url-loader/node_modules/picocolors": { + "version": "0.2.1", + "dev": true, + "license": "ISC" + }, + "node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.39", + "dev": true, + "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.exports": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", "dev": true, - "requires": { - "path-key": "^3.0.0" + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" } }, - "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/ret": { + "version": "0.1.15", "dev": true, - "requires": { - "boolbase": "~1.0.0" + "license": "MIT", + "engines": { + "node": ">=0.12" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "dev": true + "node_modules/retry": { + "version": "0.13.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } }, - "nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", - "dev": true + "node_modules/reusify": { + "version": "1.0.4", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } }, - "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 + "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" + } }, - "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/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/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/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", "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" - } - }, - "kind-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" - } - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true + "node_modules/rollup": { + "version": "2.79.1", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } }, - "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 + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "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" + } }, - "object-is": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", - "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "node_modules/rollup-plugin-terser/node_modules/jest-worker": { + "version": "26.6.2", "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1" + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.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==", - "dev": true + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } }, - "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/run-async": { + "version": "2.4.1", "dev": true, - "requires": { - "isobject": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "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" } }, - "object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "node_modules/rxjs": { + "version": "7.8.1", "dev": true, - "requires": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" } }, - "object.entries": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", - "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "node_modules/safe-array-concat": { + "version": "1.0.1", "dev": true, - "requires": { + "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", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "license": "MIT" + }, + "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" } }, - "object.getownpropertydescriptors": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", - "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", + "node_modules/safe-regex-test": { + "version": "1.0.0", "dev": true, - "requires": { - "array.prototype.reduce": "^1.0.6", + "license": "MIT", + "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "safe-array-concat": "^1.0.0" + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "object.groupby": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.2.tgz", - "integrity": "sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==", + "node_modules/safer-buffer": { + "version": "2.1.2", "dev": true, - "requires": { - "array.prototype.filter": "^1.0.3", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.0.0" - } + "license": "MIT" }, - "object.hasown": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", - "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "node_modules/sanitize.css": { + "version": "13.0.0", "dev": true, - "requires": { - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "license": "CC0-1.0" + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "dev": true, + "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 + } } }, - "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==", + "node_modules/sax": { + "version": "1.2.4", "dev": true, - "requires": { - "isobject": "^3.0.1" + "license": "ISC" + }, + "node_modules/saxes": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" } }, - "object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "node_modules/scheduler": { + "version": "0.23.0", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "4.2.0", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "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" } }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true + "node_modules/select-hose": { + "version": "2.0.0", + "dev": true, + "license": "MIT" }, - "on-finished": { + "node_modules/selfsigned": { "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" + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" } }, - "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 + "node_modules/semantic-release": { + "version": "19.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@semantic-release/commit-analyzer": "^9.0.2", + "@semantic-release/error": "^3.0.0", + "@semantic-release/github": "^8.0.0", + "@semantic-release/npm": "^9.0.0", + "@semantic-release/release-notes-generator": "^10.0.0", + "aggregate-error": "^3.0.0", + "cosmiconfig": "^7.0.0", + "debug": "^4.0.0", + "env-ci": "^5.0.0", + "execa": "^5.0.0", + "figures": "^3.0.0", + "find-versions": "^4.0.0", + "get-stream": "^6.0.0", + "git-log-parser": "^1.2.0", + "hook-std": "^2.0.0", + "hosted-git-info": "^4.0.0", + "lodash": "^4.17.21", + "marked": "^4.0.10", + "marked-terminal": "^5.0.0", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "p-reduce": "^2.0.0", + "read-pkg-up": "^7.0.0", + "resolve-from": "^5.0.0", + "semver": "^7.3.2", + "semver-diff": "^3.1.1", + "signale": "^1.2.1", + "yargs": "^16.2.0" + }, + "bin": { + "semantic-release": "bin/semantic-release.js" + }, + "engines": { + "node": ">=16 || ^14.17" + } }, - "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/semantic-release/node_modules/cliui": { + "version": "7.0.4", "dev": true, - "requires": { - "wrappy": "1" + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/semantic-release/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" + } + }, + "node_modules/semantic-release/node_modules/yargs": { + "version": "16.2.0", + "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" + }, + "engines": { + "node": ">=10" + } + }, + "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" } }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/semver-diff": { + "version": "3.1.1", "dev": true, - "requires": { - "mimic-fn": "^2.1.0" + "license": "MIT", + "dependencies": { + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" } }, - "open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "node_modules/semver-diff/node_modules/semver": { + "version": "6.3.1", "dev": true, - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "node_modules/semver-regex": { + "version": "3.1.4", "dev": true, - "requires": { - "is-wsl": "^1.1.0" + "license": "MIT", + "engines": { + "node": ">=8" }, - "dependencies": { - "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 - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.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" + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "node_modules/send": { + "version": "0.18.0", "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" - }, + "license": "MIT", "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" - } - } + "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" } }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "node_modules/send/node_modules/debug": { + "version": "2.6.9", "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - }, + "license": "MIT", "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.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 - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "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 - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "ms": "2.0.0" } }, - "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 + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==", - "dev": true + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "dev": true, + "license": "MIT" }, - "p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", - "dev": true + "node_modules/serialize-javascript": { + "version": "6.0.1", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } }, - "p-filter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz", - "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==", + "node_modules/serve-index": { + "version": "1.9.1", "dev": true, - "requires": { - "p-map": "^2.0.0" - }, + "license": "MIT", "dependencies": { - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - } + "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" } }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "dev": true - }, - "p-is-promise": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", - "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==", - "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" + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.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==", - "requires": { - "p-limit": "^3.0.2" + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "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==", + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", "dev": true, - "requires": { - "aggregate-error": "^3.0.0" + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" } }, - "p-reduce": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz", - "integrity": "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==", - "dev": true - }, - "p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", "dev": true, - "requires": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - } + "license": "ISC" }, - "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/serve-index/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", "dev": true, - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } + "license": "ISC" }, - "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/serve-index/node_modules/statuses": { + "version": "1.5.0", "dev": true, - "requires": { - "callsites": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.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==", + "node_modules/serve-static": { + "version": "1.15.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" + "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" } }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", - "dev": true - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true + "node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "license": "ISC" }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "node_modules/set-function-length": { + "version": "1.1.1", "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "license": "MIT", + "dependencies": { + "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" } }, - "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-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", - "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==" - }, - "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-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-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" - }, + "node_modules/set-function-name": { + "version": "2.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==" - }, - "minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==" - } + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "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 - }, - "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 - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "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": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "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": { + "node_modules/set-value": { "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" + "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" } }, - "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-conf": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", - "integrity": "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==", + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", "dev": true, - "requires": { - "find-up": "^2.0.0", - "load-json-file": "^4.0.0" - }, + "license": "MIT", "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==", - "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 - } + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "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/setprototypeof": { + "version": "1.2.0", "dev": true, - "requires": { - "find-up": "^4.0.0" - }, + "license": "ISC" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "license": "MIT", "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" - } - } + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" } }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "node_modules/shebang-command": { + "version": "2.0.0", "dev": true, - "requires": { - "find-up": "^3.0.0" - }, + "license": "MIT", "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" - } - }, - "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 - } + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "portfinder": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", - "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", + "node_modules/shebang-regex": { + "version": "3.0.0", "dev": true, - "requires": { - "async": "^2.6.4", - "debug": "^3.2.7", - "mkdirp": "^0.5.6" - }, - "dependencies": { - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "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" - } - } + "license": "MIT", + "engines": { + "node": ">=8" } }, - "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 - }, - "possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "dev": true - }, - "postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "node_modules/shell-quote": { + "version": "1.8.1", "dev": true, - "requires": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/side-channel": { + "version": "1.0.4", "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.10" + "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" } }, - "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==", - "dev": true + "node_modules/signal-exit": { + "version": "3.0.7", + "dev": true, + "license": "ISC" }, - "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==", + "node_modules/signale": { + "version": "1.4.0", "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "dependencies": { + "chalk": "^2.3.2", + "figures": "^2.0.0", + "pkg-conf": "^2.1.0" + }, + "engines": { + "node": ">=6" } }, - "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==", + "node_modules/signale/node_modules/ansi-styles": { + "version": "3.2.1", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "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==", + "node_modules/signale/node_modules/chalk": { + "version": "2.4.2", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "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==", + "node_modules/signale/node_modules/color-convert": { + "version": "1.9.3", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" } }, - "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==", + "node_modules/signale/node_modules/color-name": { + "version": "1.1.3", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } + "license": "MIT" }, - "postcss-colormin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", - "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "node_modules/signale/node_modules/figures": { + "version": "2.0.0", "dev": true, - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" } }, - "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==", + "node_modules/signale/node_modules/has-flag": { + "version": "3.0.0", "dev": true, - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "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==", + "node_modules/signale/node_modules/supports-color": { + "version": "5.5.0", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "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==", + "node_modules/sirv": { + "version": "2.0.3", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" } }, - "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==", + "node_modules/sisteransi": { + "version": "1.0.5", "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.4" - } + "license": "MIT" }, - "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==", + "node_modules/slash": { + "version": "3.0.0", "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.10" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "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==", - "dev": 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==", - "dev": 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==", - "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==", - "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==", + "node_modules/snapdragon": { + "version": "0.8.2", "dev": true, - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "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" } }, - "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==", + "node_modules/snapdragon-node": { + "version": "2.1.1", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.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==", - "dev": true + "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" + } }, - "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==", + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.3", "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.9" + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" } }, - "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==", + "node_modules/snapdragon-util": { + "version": "3.0.1", "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.9" + "license": "MIT", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.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==", - "dev": true + "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" + } }, - "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==", - "dev": true + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } }, - "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==", + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.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==", + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", "dev": true, - "requires": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.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==", - "dev": true + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT" }, - "postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", "dev": true, - "requires": { - "camelcase-css": "^2.0.1" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "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==", + "node_modules/sockjs": { + "version": "0.3.24", "dev": true, - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" } }, - "postcss-load-config": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "node_modules/sockjs-client": { + "version": "1.6.1", "dev": true, - "requires": { - "lilconfig": "^3.0.0", - "yaml": "^2.3.4" - }, + "license": "MIT", "dependencies": { - "lilconfig": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", - "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", - "dev": true - }, - "yaml": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.0.tgz", - "integrity": "sha512-j9iR8g+/t0lArF4V6NE/QCfT+CO7iLqrXAHZbJdo+LfjqP1vR8Fg5bSiaq6Q2lOD1AUEVrEVIgABvBFYojJVYQ==", - "dev": true - } + "debug": "^3.2.7", + "eventsource": "^2.0.2", + "faye-websocket": "^0.11.4", + "inherits": "^2.0.4", + "url-parse": "^1.5.10" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://tidelift.com/funding/github/npm/sockjs-client" } }, - "postcss-loader": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", - "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", + "node_modules/sockjs-client/node_modules/debug": { + "version": "3.2.7", "dev": true, - "requires": { - "cosmiconfig": "^8.3.5", - "jiti": "^1.20.0", - "semver": "^7.5.4" - }, + "license": "MIT", "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.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "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 - } + "ms": "^2.1.1" } }, - "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==", - "dev": true + "node_modules/source-list-map": { + "version": "2.0.1", + "dev": true, + "license": "MIT" }, - "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==", - "dev": true + "node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } }, - "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==", + "node_modules/source-map-js": { + "version": "1.0.2", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "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==", + "node_modules/source-map-loader": { + "version": "3.0.2", "dev": true, - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" + "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" } }, - "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==", + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.3", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.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==", + "node_modules/source-map-resolve": { + "version": "0.5.3", "dev": true, - "requires": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "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.21", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.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==", + "node_modules/source-map-url": { + "version": "0.4.1", "dev": true, - "requires": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } + "license": "MIT" }, - "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==", + "node_modules/sourcemap-codec": { + "version": "1.4.8", "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.5" - } + "license": "MIT" }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true + "node_modules/spawn-command": { + "version": "0.0.2-1", + "dev": true, + "license": "MIT" }, - "postcss-modules-local-by-default": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", - "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", + "node_modules/spawn-error-forwarder": { + "version": "1.0.0", "dev": true, - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } + "license": "MIT" }, - "postcss-modules-scope": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", - "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", + "node_modules/spdx-correct": { + "version": "3.2.0", "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.4" + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "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==", + "node_modules/spdx-exceptions": { + "version": "2.3.0", "dev": true, - "requires": { - "icss-utils": "^5.0.0" - } + "license": "CC-BY-3.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==", + "node_modules/spdx-expression-parse": { + "version": "3.0.1", "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.11" + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^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==", + "node_modules/spdx-license-ids": { + "version": "3.0.16", "dev": true, - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } + "license": "CC0-1.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==", + "node_modules/spdy": { + "version": "4.0.2", "dev": true, - "requires": { - "@csstools/normalize.css": "*", - "postcss-browser-comments": "^4", - "sanitize.css": "*" + "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" } }, - "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==", - "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==", + "node_modules/spdy-transport": { + "version": "3.0.0", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.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" } }, - "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==", + "node_modules/split": { + "version": "1.0.1", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" } }, - "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==", + "node_modules/split-string": { + "version": "3.1.0", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.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==", + "node_modules/split2": { + "version": "3.2.2", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" + "license": "ISC", + "dependencies": { + "readable-stream": "^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==", + "node_modules/sprintf-js": { + "version": "1.0.3", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } + "license": "BSD-3-Clause" }, - "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==", + "node_modules/stable": { + "version": "0.1.8", "dev": true, - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } + "license": "MIT" }, - "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==", + "node_modules/stack-utils": { + "version": "2.0.6", "dev": true, - "requires": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" } }, - "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==", + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "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==", - "dev": true - }, - "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==", + "node_modules/stackframe": { + "version": "1.3.4", "dev": true, - "requires": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } + "license": "MIT" }, - "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==", + "node_modules/static-eval": { + "version": "2.0.2", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "dependencies": { + "escodegen": "^1.8.1" } }, - "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==", - "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==", + "node_modules/static-extend": { + "version": "0.1.2", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" + "license": "MIT", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.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==", + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", "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" + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.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==", + "node_modules/statuses": { + "version": "2.0.1", "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.10" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "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==", + "node_modules/stream-combiner2": { + "version": "1.1.1", "dev": true, - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" + "license": "MIT", + "dependencies": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" } }, - "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==", + "node_modules/stream-combiner2/node_modules/readable-stream": { + "version": "2.3.8", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.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" } }, - "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==", - "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==", + "node_modules/stream-combiner2/node_modules/safe-buffer": { + "version": "5.1.2", "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.10" - } + "license": "MIT" }, - "postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "node_modules/stream-combiner2/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "node_modules/string_decoder": { + "version": "1.3.0", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - }, + "license": "MIT", "dependencies": { - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "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==", - "dev": true - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "boolbase": "^1.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==", - "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" - } - } + "safe-buffer": "~5.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==", + "node_modules/string-length": { + "version": "4.0.2", "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.5" + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" } }, - "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==", - "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 + "node_modules/string-natural-compare": { + "version": "3.0.1", + "dev": true, + "license": "MIT" }, - "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==", - "dev": true + "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" + } }, - "pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "node_modules/string.prototype.matchall": { + "version": "4.0.10", "dev": true, - "requires": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" + "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" } }, - "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/string.prototype.trim": { + "version": "1.2.8", "dev": true, - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, + "license": "MIT", "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-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 - } + "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" } }, - "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==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "node_modules/string.prototype.trimend": { + "version": "1.0.7", "dev": true, - "requires": { - "asap": "~2.0.6" + "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" } }, - "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/string.prototype.trimstart": { + "version": "1.0.7", "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "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" } }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "node_modules/stringify-object": { + "version": "3.3.0", "dev": true, - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" + "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" } }, - "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 + "node_modules/stringify-object/node_modules/is-obj": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "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/strip-ansi": { + "version": "6.0.1", "dev": true, - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, + "license": "MIT", "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - } + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "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==" - }, - "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 - }, - "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/strip-bom": { + "version": "4.0.0", "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "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.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "node_modules/strip-comments": { + "version": "2.0.1", "dev": true, - "requires": { - "side-channel": "^1.0.4" + "license": "MIT", + "engines": { + "node": ">=10" } }, - "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==" - }, - "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 - }, - "raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "node_modules/strip-eof": { + "version": "1.0.0", "dev": true, - "requires": { - "performance-now": "^2.1.0" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/strip-final-newline": { + "version": "2.0.0", "dev": true, - "requires": { - "safe-buffer": "^5.1.0" + "license": "MIT", + "engines": { + "node": ">=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": { - "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/strip-indent": { + "version": "3.0.0", "dev": true, - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, + "license": "MIT", "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true - } + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" } }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "node_modules/strip-json-comments": { + "version": "3.1.1", "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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" - } + "node_modules/strnum": { + "version": "1.0.5", + "license": "MIT" }, - "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==", + "node_modules/style-loader": { + "version": "3.3.3", "dev": true, - "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" + "license": "MIT", + "engines": { + "node": ">= 12.13.0" }, - "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==", - "dev": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "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==", + "node_modules/stylehacks": { + "version": "5.1.1", "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" - }, + "license": "MIT", "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 - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "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==", - "dev": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.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 - }, - "loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", - "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" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "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" + "node_modules/sucrase": { + "version": "3.34.0", + "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" + }, + "engines": { + "node": ">=8" } }, - "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==", - "dev": true - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "react-refresh": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", - "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", - "dev": true - }, - "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==", + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "1.1.11", "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" - }, + "license": "MIT", "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "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" - } - }, - "dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", - "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" - } - }, - "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" - } - }, - "mini-css-extract-plugin": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.1.tgz", - "integrity": "sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==", - "dev": true, - "requires": { - "schema-utils": "^4.0.0", - "tapable": "^2.2.1" - } - }, - "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==", - "dev": true, - "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" - } - }, - "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.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==", - "dev": true, - "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" - } - }, - "ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", - "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 - } + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" } }, - "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==", + "node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", "dev": true, - "requires": { - "pify": "^2.3.0" - }, + "license": "ISC", "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true - } + "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" } }, - "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/sucrase/node_modules/minimatch": { + "version": "3.1.2", "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" - }, + "license": "ISC", "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" - } - }, - "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.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "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/supports-color": { + "version": "7.2.0", "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "dev": true, + "license": "MIT", "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" - } - }, - "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 - } + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" } }, - "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/supports-preserve-symlinks-flag": { + "version": "1.0.0", "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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" + "node_modules/svg-parser": { + "version": "2.0.4", + "dev": true, + "license": "MIT" + }, + "node_modules/svgo": { + "version": "1.3.2", + "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" + }, + "engines": { + "node": ">=4.0.0" } }, - "rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "node_modules/svgo/node_modules/ansi-styles": { + "version": "3.2.1", "dev": true, - "requires": { - "resolve": "^1.9.0" + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "recoil": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/recoil/-/recoil-0.1.3.tgz", - "integrity": "sha512-/Rm7wN7jqCjhtFK1TgtK0V115SUXNu6d4QYvwxWNLydib0QChSmpB6U8CaHoRPS0MFWtAIsD/IFjpbfk/OYm7Q==" + "node_modules/svgo/node_modules/argparse": { + "version": "1.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } }, - "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==", + "node_modules/svgo/node_modules/chalk": { + "version": "2.4.2", "dev": true, - "requires": { - "minimatch": "^3.0.5" + "license": "MIT", + "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", + "dev": true, + "license": "MIT", "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" - } - }, - "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" - } - } + "color-name": "1.1.3" } }, - "redent": { + "node_modules/svgo/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/svgo/node_modules/has-flag": { "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" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "redeyed": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", - "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", + "node_modules/svgo/node_modules/js-yaml": { + "version": "3.14.1", "dev": true, - "requires": { - "esprima": "~4.0.0" + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "reflect.getprototypeof": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz", - "integrity": "sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==", + "node_modules/svgo/node_modules/supports-color": { + "version": "5.5.0", "dev": true, - "requires": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.0.0", - "get-intrinsic": "^1.2.3", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "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/symbol-tree": { + "version": "3.2.4", + "dev": true, + "license": "MIT" }, - "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==", + "node_modules/tailwindcss": { + "version": "3.3.5", "dev": true, - "requires": { - "regenerate": "^1.4.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.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "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" } }, - "regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true - }, - "regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "node_modules/tailwindcss/node_modules/arg": { + "version": "5.0.2", "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } + "license": "MIT" }, - "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/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, - "regex-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", - "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==", - "dev": true + "node_modules/tapable": { + "version": "2.2.1", + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "node_modules/temp-dir": { + "version": "2.0.0", "dev": true, - "requires": { - "call-bind": "^1.0.6", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "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==", + "node_modules/tempy": { + "version": "1.0.1", "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" + "license": "MIT", + "dependencies": { + "del": "^6.0.0", + "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" } }, - "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==", + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", "dev": true, - "requires": { - "@pnpm/npm-conf": "^2.1.0" + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "node_modules/terminal-link": { + "version": "2.1.1", "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, + "license": "MIT", "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true - } + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true - }, - "renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "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" + "node_modules/terser": { + "version": "5.24.0", + "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": { - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "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==", - "dev": true + "@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 }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } + "esbuild": { + "optional": 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==", - "dev": true, - "requires": { - "boolbase": "^1.0.0" - } + "uglify-js": { + "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 + "node_modules/terser-webpack-plugin/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } }, - "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 + "node_modules/terser-webpack-plugin/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" + } }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", - "dev": true + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } }, - "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/terser-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "license": "MIT" }, - "rescript": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/rescript/-/rescript-10.1.4.tgz", - "integrity": "sha512-FFKlS9AG/XrLepWsyw7B+A9DtQBPWEPDPDKghV831Y2KGbie+eeFBOS0xtRHp0xbt7S0N2Dm6hhX+kTZQ/3Ybg==", - "dev": true + "node_modules/terser-webpack-plugin/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" + } }, - "rescript-webapi": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/rescript-webapi/-/rescript-webapi-0.7.0.tgz", - "integrity": "sha512-fA1LPXSmQY3HtcIStQ2sHu9Xye1XLxd4JvkGQMupux9Q6Tp/jbcdh7bnCaGwHW6aI1QFmTmA/xWxUMb6oPphsQ==" + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "license": "MIT" }, - "resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "node_modules/test-exclude": { + "version": "6.0.0", "dev": true, - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" } }, - "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/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, - "requires": { - "resolve-from": "^5.0.0" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", "dev": true, - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" + "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" } }, - "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/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } }, - "resolve-global": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", - "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "node_modules/text-extensions": { + "version": "1.9.0", "dev": true, - "requires": { - "global-dirs": "^0.1.1" + "license": "MIT", + "engines": { + "node": ">=0.10" } }, - "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 + "node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" }, - "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==", + "node_modules/thenify": { + "version": "3.3.1", "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" - }, + "license": "MIT", "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - } + "any-promise": "^1.0.0" } }, - "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 - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/thenify-all": { + "version": "1.6.0", "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" } }, - "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 + "node_modules/throat": { + "version": "6.0.2", + "dev": true, + "license": "MIT" }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + "node_modules/through": { + "version": "2.3.8", + "dev": true, + "license": "MIT" }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/through2": { + "version": "4.0.2", "dev": true, - "requires": { - "glob": "^7.1.3" - }, + "license": "MIT", "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" - } - } + "readable-stream": "3" } }, - "rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "node_modules/thunky": { + "version": "1.1.0", "dev": true, - "requires": { - "fsevents": "~2.3.2" - } + "license": "MIT" }, - "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==", + "node_modules/tmp": { + "version": "0.0.33", "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - }, + "license": "MIT", "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" } }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true + "node_modules/tmpl": { + "version": "1.0.5", + "dev": true, + "license": "BSD-3-Clause" }, - "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" + "node_modules/to-fast-properties": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "node_modules/to-object-path": { + "version": "0.3.0", "dev": true, - "requires": { - "tslib": "^1.9.0" - }, + "license": "MIT", "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "safe-array-concat": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", - "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", "dev": true, - "requires": { - "call-bind": "^1.0.5", - "get-intrinsic": "^1.2.2", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, + "license": "MIT", "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - } + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.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 - }, - "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/to-regex": { + "version": "3.0.2", "dev": true, - "requires": { - "ret": "~0.1.10" + "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" } }, - "safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", - "dev": true, - "requires": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-regex": "^1.1.4" + "node_modules/to-regex-range": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "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==", - "dev": true - }, - "sass-loader": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", - "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "node_modules/toidentifier": { + "version": "1.0.1", "dev": true, - "requires": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" + "license": "MIT", + "engines": { + "node": ">=0.6" } }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "node_modules/totalist": { + "version": "3.0.1", "dev": true, - "requires": { - "xmlchars": "^2.2.0" + "license": "MIT", + "engines": { + "node": ">=6" } }, - "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" + "node_modules/tough-cookie": { + "version": "4.1.3", + "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" } }, - "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==", + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" + "license": "MIT", + "engines": { + "node": ">= 4.0.0" } }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "dev": true + "node_modules/tr46": { + "version": "0.0.3", + "license": "MIT" }, - "selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "node_modules/traverse": { + "version": "0.6.7", "dev": true, - "requires": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "semantic-release": { - "version": "19.0.5", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-19.0.5.tgz", - "integrity": "sha512-NMPKdfpXTnPn49FDogMBi36SiBfXkSOJqCkk0E4iWOY1tusvvgBwqUmxTX1kmlT6kIYed9YwNKD1sfPpqa5yaA==", + "node_modules/tree-kill": { + "version": "1.2.2", "dev": true, - "requires": { - "@semantic-release/commit-analyzer": "^9.0.2", - "@semantic-release/error": "^3.0.0", - "@semantic-release/github": "^8.0.0", - "@semantic-release/npm": "^9.0.0", - "@semantic-release/release-notes-generator": "^10.0.0", - "aggregate-error": "^3.0.0", - "cosmiconfig": "^7.0.0", - "debug": "^4.0.0", - "env-ci": "^5.0.0", - "execa": "^5.0.0", - "figures": "^3.0.0", - "find-versions": "^4.0.0", - "get-stream": "^6.0.0", - "git-log-parser": "^1.2.0", - "hook-std": "^2.0.0", - "hosted-git-info": "^4.0.0", - "lodash": "^4.17.21", - "marked": "^4.0.10", - "marked-terminal": "^5.0.0", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "p-reduce": "^2.0.0", - "read-pkg-up": "^7.0.0", - "resolve-from": "^5.0.0", - "semver": "^7.3.2", - "semver-diff": "^3.1.1", - "signale": "^1.2.1", - "yargs": "^16.2.0" - }, - "dependencies": { - "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" - } - }, - "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" - } - }, - "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.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "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 - }, - "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" - } - } + "license": "MIT", + "bin": { + "tree-kill": "cli.js" } }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - }, - "semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "node_modules/trim-newlines": { + "version": "3.0.1", "dev": true, - "requires": { - "semver": "^6.3.0" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "semver-regex": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.4.tgz", - "integrity": "sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==", - "dev": true + "node_modules/tryer": { + "version": "1.0.1", + "dev": true, + "license": "MIT" }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "node_modules/ts-interface-checker": { + "version": "0.1.13", "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" + "license": "Apache-2.0" + }, + "node_modules/ts-node": { + "version": "10.9.1", + "dev": true, + "license": "MIT", + "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" }, - "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 - } - } + "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 }, - "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 + "@swc/wasm": { + "optional": true } } }, - "serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "node_modules/tsconfig-paths": { + "version": "3.14.2", "dev": true, - "requires": { - "randombytes": "^2.1.0" + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" } }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", "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" - }, + "license": "MIT", "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" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, - "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 - } + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" } }, - "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/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "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/tslib": { + "version": "2.6.2", + "license": "0BSD" }, - "set-function-length": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", - "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "node_modules/tsutils": { + "version": "3.21.0", "dev": true, - "requires": { - "define-data-property": "^1.1.2", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" + "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" } }, - "set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", "dev": true, - "requires": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - } + "license": "0BSD" }, - "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/type-check": { + "version": "0.3.2", "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, + "license": "MIT", "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" - } - } + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "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" + "node_modules/type-detect": { + "version": "4.0.8", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, - "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/type-fest": { + "version": "0.18.1", "dev": true, - "requires": { - "shebang-regex": "^3.0.0" + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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 - }, - "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 - }, - "side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "node_modules/type-is": { + "version": "1.6.18", "dev": true, - "requires": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" } }, - "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 - }, - "signale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", - "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==", + "node_modules/typed-array-buffer": { + "version": "1.0.0", "dev": true, - "requires": { - "chalk": "^2.3.2", - "figures": "^2.0.0", - "pkg-conf": "^2.1.0" - }, + "license": "MIT", "dependencies": { - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - } + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" } }, - "sirv": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", - "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "node_modules/typed-array-byte-length": { + "version": "1.0.0", "dev": true, - "requires": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" + "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" } }, - "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==", + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", "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" - }, + "license": "MIT", "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" - } - }, - "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 - } + "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" } }, - "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/typed-array-length": { + "version": "1.0.4", "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, + "license": "MIT", "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" - } - }, - "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, - "requires": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - } - } + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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/typedarray-to-buffer": { + "version": "3.1.5", "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, + "license": "MIT", "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-typedarray": "^1.0.0" } }, - "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "node_modules/typescript": { + "version": "4.9.5", "dev": true, - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" } }, - "sockjs-client": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.1.tgz", - "integrity": "sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==", + "node_modules/uglify-js": { + "version": "3.17.4", "dev": true, - "requires": { - "debug": "^3.2.7", - "eventsource": "^2.0.2", - "faye-websocket": "^0.11.4", - "inherits": "^2.0.4", - "url-parse": "^1.5.10" + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" }, - "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" - } - } + "engines": { + "node": ">=0.8.0" } }, - "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", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-js": { + "node_modules/unbox-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true - }, - "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==", "dev": true, - "requires": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" - }, + "license": "MIT", "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" - } - } + "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" } }, - "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==", + "node_modules/underscore": { + "version": "1.12.1", "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" - } + "license": "MIT" }, - "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/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "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==", - "dev": true - }, - "spawn-command": { - "version": "0.0.2-1", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", - "integrity": "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==", - "dev": true - }, - "spawn-error-forwarder": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz", - "integrity": "sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==", - "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==", + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "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==", + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "spdx-license-ids": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", - "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", - "dev": true + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "node_modules/union-value": { + "version": "1.0.1", "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" + "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" } }, - "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==", + "node_modules/unique-string": { + "version": "2.0.0", "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" + "license": "MIT", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "node_modules/universal-user-agent": { + "version": "6.0.0", "dev": true, - "requires": { - "through": "2" - } + "license": "ISC" }, - "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/universalify": { + "version": "2.0.1", "dev": true, - "requires": { - "extend-shallow": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">= 10.0.0" } }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "node_modules/unpipe": { + "version": "1.0.0", "dev": true, - "requires": { - "readable-stream": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "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/unplugin": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "acorn": "^8.8.1", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.5.0" + } }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true + "node_modules/unquote": { + "version": "1.1.1", + "dev": true, + "license": "MIT" }, - "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/unset-value": { + "version": "1.0.0", "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, + "license": "MIT", "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 - } + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "dev": true - }, - "static-eval": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", - "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", "dev": true, - "requires": { - "escodegen": "^1.8.1" + "license": "MIT", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "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/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, + "license": "MIT", "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" - } - } + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true - }, - "stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", "dev": true, - "requires": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "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" - } - } + "license": "MIT", + "engines": { + "node": ">=0.10.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==", + "node_modules/upath": { + "version": "1.2.0", "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "license": "MIT", + "engines": { + "node": ">=4", + "yarn": "*" } }, - "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/update-browserslist-db": { + "version": "1.0.13", + "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" + } }, - "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" + "node_modules/uri-js": { + "version": "4.4.1", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" } }, - "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==", + "node_modules/urix": { + "version": "0.1.0", "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" - } + "license": "MIT" }, - "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/url": { + "version": "0.11.3", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "license": "MIT", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.2" } }, - "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/url-join": { + "version": "4.0.1", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } + "license": "MIT" }, - "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/url-parse": { + "version": "1.5.10", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" } }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } + "license": "MIT" }, - "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/url/node_modules/qs": { + "version": "6.11.2", "dev": true, - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, + "license": "BSD-3-Clause", "dependencies": { - "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==", - "dev": true - } + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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/use": { + "version": "3.1.1", "dev": true, - "requires": { - "ansi-regex": "^5.0.1" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", - "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 + "node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "license": "MIT" }, - "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==", + "node_modules/util.promisify": { + "version": "1.0.1", "dev": true, - "requires": { - "min-indent": "^1.0.0" + "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" } }, - "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 + "node_modules/utila": { + "version": "0.4.0", + "dev": true, + "license": "MIT" }, - "strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + "node_modules/utils-merge": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } }, - "style-loader": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", - "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", - "dev": true + "node_modules/uuid": { + "version": "8.3.2", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } }, - "stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", "dev": true, - "requires": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - } + "license": "MIT" }, - "sucrase": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "node_modules/v8-to-istanbul": { + "version": "8.1.1", "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "^10.3.10", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, + "license": "ISC", "dependencies": { - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - }, - "glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "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" - } - }, - "minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true - } + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.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" + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.4", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" } }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "node_modules/validate-npm-package-license": { + "version": "3.0.4", "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, + "license": "Apache-2.0", "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^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==", - "dev": true - }, - "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==", - "dev": true + "node_modules/vary": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "node_modules/w3c-hr-time": { + "version": "1.0.2", "dev": true, - "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" - }, + "license": "MIT", "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" - } - }, - "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" - } - } + "browser-process-hrtime": "^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==", - "dev": true - }, - "tailwindcss": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", - "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", "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.3.0", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.19.1", - "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" + "license": "MIT", + "dependencies": { + "xml-name-validator": "^3.0.0" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "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 - }, - "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" - } - } + "makeerror": "1.0.12" } }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true + "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" + } }, - "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==", - "dev": true + "node_modules/wbuf": { + "version": "1.7.3", + "dev": true, + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } }, - "tempy": { + "node_modules/wcwidth": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.1.tgz", - "integrity": "sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==", "dev": true, - "requires": { - "del": "^6.0.0", - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, + "license": "MIT", "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==", - "dev": true + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "license": "BSD-2-Clause" + }, + "node_modules/webpack": { + "version": "5.89.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 } } }, - "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/webpack-bundle-analyzer": { + "version": "4.9.1", "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "is-plain-object": "^5.0.0", + "lodash.debounce": "^4.0.8", + "lodash.escape": "^4.0.1", + "lodash.flatten": "^4.4.0", + "lodash.invokemap": "^4.6.0", + "lodash.pullall": "^4.2.0", + "lodash.uniqby": "^4.7.0", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" } }, - "terser": { - "version": "5.28.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.28.1.tgz", - "integrity": "sha512-wM+bZp54v/E9eRRGXb5ZFDvinrJIOaTapx3WUokyVGZu5ucVCK55zEgGd5Dl2fSr3jUo5sDiERErUWLY6QPFyA==", + "node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": { + "version": "4.0.0", "dev": true, - "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" + "license": "MIT", + "engines": { + "node": ">=10" }, - "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 - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "node_modules/webpack-bundle-analyzer/node_modules/is-plain-object": { + "version": "5.0.0", "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-cli": { + "version": "4.10.0", + "dev": true, + "license": "MIT", "dependencies": { - "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" - } + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.2.0", + "@webpack-cli/info": "^1.5.0", + "@webpack-cli/serve": "^1.7.0", + "colorette": "^2.0.14", + "commander": "^7.0.0", + "cross-spawn": "^7.0.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true }, - "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 + "@webpack-cli/migrate": { + "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==", - "dev": true + "webpack-bundle-analyzer": { + "optional": 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" - } + "webpack-dev-server": { + "optional": 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==", + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "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-server": { + "version": "3.11.3", + "dev": true, + "license": "MIT", "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" - } + "ansi-html-community": "0.0.8", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 6.11.5" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true } } }, - "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 - }, - "thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "6.12.6", "dev": true, - "requires": { - "any-promise": "^1.0.0" + "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" } }, - "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==", + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "3.5.2", "dev": true, - "requires": { - "thenify": ">= 3.1.0 < 4" + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" } }, - "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": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "node_modules/webpack-dev-server/node_modules/ansi-regex": { + "version": "2.1.1", "dev": true, - "requires": { - "readable-stream": "3" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "node_modules/webpack-dev-server/node_modules/ansi-styles": { + "version": "3.2.1", "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=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-fast-properties": { + "node_modules/webpack-dev-server/node_modules/anymatch": { "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-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" - }, + "license": "ISC", "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" - } - } + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" } }, - "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/webpack-dev-server/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "license": "MIT", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.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==", - "requires": { - "is-number": "^7.0.0" + "node_modules/webpack-dev-server/node_modules/array-union": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.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 + "node_modules/webpack-dev-server/node_modules/binary-extensions": { + "version": "1.13.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", - "dev": true + "node_modules/webpack-dev-server/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, - "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/webpack-dev-server/node_modules/braces": { + "version": "2.3.2", "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" + "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-dev-server/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "license": "MIT", "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 - } + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "node_modules/webpack-dev-server/node_modules/chokidar": { + "version": "2.1.8", + "dev": true, + "license": "MIT", + "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" + } }, - "traverse": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz", - "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==", - "dev": true + "node_modules/webpack-dev-server/node_modules/cliui": { + "version": "5.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true + "node_modules/webpack-dev-server/node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "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 + "node_modules/webpack-dev-server/node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", - "dev": true + "node_modules/webpack-dev-server/node_modules/color-convert": { + "version": "1.9.3", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } }, - "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==", - "dev": true + "node_modules/webpack-dev-server/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" }, - "ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "node_modules/webpack-dev-server/node_modules/connect-history-api-fallback": { + "version": "1.6.0", "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" + "license": "MIT", + "engines": { + "node": ">=0.8" } }, - "tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "node_modules/webpack-dev-server/node_modules/del": { + "version": "4.1.1", "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, + "license": "MIT", "dependencies": { - "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" - } - }, - "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 - } + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "engines": { + "node": ">=6" } }, - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "node_modules/webpack-dev-server/node_modules/emoji-regex": { + "version": "7.0.3", + "dev": true, + "license": "MIT" }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "node_modules/webpack-dev-server/node_modules/fill-range": { + "version": "4.0.0", "dev": true, - "requires": { - "tslib": "^1.8.1" - }, + "license": "MIT", "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "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" } }, - "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/webpack-dev-server/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", "dev": true, - "requires": { - "prelude-ls": "^1.2.1" + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "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.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 - }, - "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/webpack-dev-server/node_modules/find-up": { + "version": "3.0.0", "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "node_modules/webpack-dev-server/node_modules/fsevents": { + "version": "1.2.13", "dev": true, - "requires": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" } }, - "typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "node_modules/webpack-dev-server/node_modules/glob": { + "version": "7.2.3", "dev": true, - "requires": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "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" } }, - "typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "node_modules/webpack-dev-server/node_modules/glob-parent": { + "version": "3.1.0", "dev": true, - "requires": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "license": "ISC", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" } }, - "typed-array-length": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz", - "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==", + "node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", "dev": true, - "requires": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "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/webpack-dev-server/node_modules/globby": { + "version": "6.1.0", "dev": true, - "requires": { - "is-typedarray": "^1.0.0" + "license": "MIT", + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", - "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==", + "node_modules/webpack-dev-server/node_modules/globby/node_modules/pify": { + "version": "2.3.0", "dev": true, - "optional": true + "license": "MIT", + "engines": { + "node": ">=0.10.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==", + "node_modules/webpack-dev-server/node_modules/has-flag": { + "version": "3.0.0", "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", - "dev": true + "node_modules/webpack-dev-server/node_modules/html-entities": { + "version": "1.4.0", + "dev": true, + "license": "MIT" }, - "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 + "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { + "version": "0.19.1", + "dev": true, + "license": "MIT", + "dependencies": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } }, - "unicode-match-property-ecmascript": { + "node_modules/webpack-dev-server/node_modules/import-local": { "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" + "license": "MIT", + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=6" } }, - "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": { + "node_modules/webpack-dev-server/node_modules/is-binary-path": { "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" + "license": "MIT", + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "unique-string": { + "node_modules/webpack-dev-server/node_modules/is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", "dev": true, - "requires": { - "crypto-random-string": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "universal-user-agent": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", - "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", - "dev": true - }, - "universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "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 + "node_modules/webpack-dev-server/node_modules/is-number": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } }, - "unplugin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.0.1.tgz", - "integrity": "sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==", - "requires": { - "acorn": "^8.8.1", - "chokidar": "^3.5.3", - "webpack-sources": "^3.2.3", - "webpack-virtual-modules": "^0.5.0" + "node_modules/webpack-dev-server/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" } }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", - "dev": true + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "node_modules/webpack-dev-server/node_modules/locate-path": { + "version": "3.0.0", "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, + "license": "MIT", "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 - } + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true + "node_modules/webpack-dev-server/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" + } }, - "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" + "node_modules/webpack-dev-server/node_modules/mime": { + "version": "2.6.0", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" } }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "node_modules/webpack-dev-server/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "requires": { - "punycode": "^2.1.0" + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "dev": true + "node_modules/webpack-dev-server/node_modules/node-forge": { + "version": "0.10.0", + "dev": true, + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.0.0" + } }, - "url": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", - "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "node_modules/webpack-dev-server/node_modules/p-limit": { + "version": "2.3.0", "dev": true, - "requires": { - "punycode": "^1.4.1", - "qs": "^6.11.2" - }, + "license": "MIT", "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" - } - } + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", - "dev": true + "node_modules/webpack-dev-server/node_modules/p-locate": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=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==", + "node_modules/webpack-dev-server/node_modules/p-map": { + "version": "2.1.0", "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=6" } }, - "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 + "node_modules/webpack-dev-server/node_modules/p-retry": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "retry": "^0.12.0" + }, + "engines": { + "node": ">=6" + } }, - "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/webpack-dev-server/node_modules/path-exists": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "node_modules/webpack-dev-server/node_modules/pify": { + "version": "4.0.1", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" + "license": "MIT", + "engines": { + "node": ">=6" } }, - "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==", - "dev": true + "node_modules/webpack-dev-server/node_modules/pkg-dir": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=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 + "node_modules/webpack-dev-server/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" + } }, - "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/webpack-dev-server/node_modules/readdirp": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } }, - "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/webpack-dev-server/node_modules/require-main-filename": { + "version": "2.0.0", + "dev": true, + "license": "ISC" }, - "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==", + "node_modules/webpack-dev-server/node_modules/resolve-cwd": { + "version": "2.0.0", "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, + "license": "MIT", "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 - } + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "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==", + "node_modules/webpack-dev-server/node_modules/resolve-from": { + "version": "3.0.0", "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "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 + "node_modules/webpack-dev-server/node_modules/retry": { + "version": "0.12.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } }, - "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==", + "node_modules/webpack-dev-server/node_modules/rimraf": { + "version": "2.7.1", "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "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==", + "node_modules/webpack-dev-server/node_modules/safe-buffer": { + "version": "5.1.2", "dev": true, - "requires": { - "xml-name-validator": "^3.0.0" + "license": "MIT" + }, + "node_modules/webpack-dev-server/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" } }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "node_modules/webpack-dev-server/node_modules/selfsigned": { + "version": "1.10.14", "dev": true, - "requires": { - "makeerror": "1.0.12" + "license": "MIT", + "dependencies": { + "node-forge": "^0.10.0" } }, - "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/webpack-dev-server/node_modules/semver": { + "version": "6.3.1", "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "node_modules/webpack-dev-server/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "node_modules/webpack-dev-server/node_modules/string-width": { + "version": "3.1.0", "dev": true, - "requires": { - "defaults": "^1.0.3" + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" } }, - "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/webpack-dev-server/node_modules/string-width/node_modules/ansi-regex": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "webpack": { - "version": "5.90.3", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", - "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", + "node_modules/webpack-dev-server/node_modules/string-width/node_modules/strip-ansi": { + "version": "5.2.0", "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.5", - "@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.21.10", - "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.10", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, + "license": "MIT", "dependencies": { - "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 - }, - "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" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "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 - }, - "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" - } - } + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "webpack-bundle-analyzer": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz", - "integrity": "sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==", + "node_modules/webpack-dev-server/node_modules/strip-ansi": { + "version": "3.0.1", "dev": true, - "requires": { - "@discoveryjs/json-ext": "0.5.7", - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "commander": "^7.2.0", - "debounce": "^1.2.1", - "escape-string-regexp": "^4.0.0", - "gzip-size": "^6.0.0", - "html-escaper": "^2.0.2", - "is-plain-object": "^5.0.0", - "opener": "^1.5.2", - "picocolors": "^1.0.0", - "sirv": "^2.0.3", - "ws": "^7.3.1" - }, + "license": "MIT", "dependencies": { - "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 - }, - "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 - } + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "webpack-cli": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", - "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", + "node_modules/webpack-dev-server/node_modules/supports-color": { + "version": "6.1.0", "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.2.0", - "@webpack-cli/info": "^1.5.0", - "@webpack-cli/serve": "^1.7.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "cross-spawn": "^7.0.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "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==", + "node_modules/webpack-dev-server/node_modules/to-regex-range": { + "version": "2.1.1", "dev": 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" + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "webpack-dev-server": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", - "integrity": "sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==", + "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { + "version": "3.7.3", "dev": true, - "requires": { - "ansi-html-community": "0.0.8", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, + "license": "MIT", "dependencies": { - "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 - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": 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, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "requires": { - "array-uniq": "^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 - }, - "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": "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" - } - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": 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" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.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" - } - } - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "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" - } - } - } - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "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, - "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, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true - } - } - }, - "html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", - "dev": true - }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - } - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.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, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "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 - }, - "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" - } - } - } - }, - "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 - }, - "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" - } - }, - "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" - } - }, - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "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" - } - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true - }, - "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" - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "dev": true, - "requires": { - "retry": "^0.12.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" - } - }, - "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, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^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 - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==", - "dev": true, - "requires": { - "resolve-from": "^3.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==", - "dev": true - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "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", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "selfsigned": { - "version": "1.10.14", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz", - "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==", - "dev": true, - "requires": { - "node-forge": "^0.10.0" - } - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.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" - } - } - } - }, - "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" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.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" - } - }, - "webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", - "dev": true, - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.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" - } - } - } - }, - "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" - } - }, - "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": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "6.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/y18n": { + "version": "4.0.3", + "dev": true, + "license": "ISC" + }, + "node_modules/webpack-dev-server/node_modules/yargs": { + "version": "13.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/webpack-dev-server/node_modules/yargs-parser": { + "version": "13.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, - "webpack-log": { + "node_modules/webpack-log": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "ansi-colors": "^3.0.0", "uuid": "^3.3.2" }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } + "engines": { + "node": ">= 6" + } + }, + "node_modules/webpack-log/node_modules/uuid": { + "version": "3.4.0", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "bin/uuid" } }, - "webpack-manifest-plugin": { + "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==", "dev": true, - "requires": { + "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/webpack-sources": { + "version": "2.3.1", + "dev": true, + "license": "MIT", "dependencies": { - "webpack-sources": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", - "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", - "dev": true, - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - } - } + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" } }, - "webpack-merge": { + "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==", - "requires": { + "license": "MIT", + "dependencies": { "clone-deep": "^4.0.1", "flat": "^5.0.2", "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" } }, - "webpack-sources": { + "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" + } }, - "webpack-virtual-modules": { + "node_modules/webpack-virtual-modules": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", - "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==" + "license": "MIT" + }, + "node_modules/webpack/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/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "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/json-schema-traverse": { + "version": "0.4.1", + "license": "MIT" + }, + "node_modules/webpack/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" + } }, - "websocket-driver": { + "node_modules/websocket-driver": { "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, - "requires": { + "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" } }, - "websocket-extensions": { + "node_modules/websocket-extensions": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } }, - "whatwg-encoding": { + "node_modules/whatwg-encoding": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "iconv-lite": "0.4.24" } }, - "whatwg-fetch": { - "version": "3.6.20", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", - "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", - "dev": true + "node_modules/whatwg-fetch": { + "version": "3.6.19", + "dev": true, + "license": "MIT" }, - "whatwg-mimetype": { + "node_modules/whatwg-mimetype": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true + "dev": true, + "license": "MIT" }, - "whatwg-url": { + "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==", - "requires": { + "license": "MIT", + "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, - "which": { + "node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { + "license": "ISC", + "dependencies": { "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "which-boxed-primitive": { + "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, - "requires": { + "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" } }, - "which-builtin-type": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "function.prototype.name": "^1.1.5", "has-tostringtag": "^1.0.0", "is-async-function": "^2.0.0", @@ -23163,88 +26580,94 @@ "which-collection": "^1.0.1", "which-typed-array": "^1.1.9" }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - } + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "which-collection": { + "node_modules/which-builtin-type/node_modules/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "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, - "requires": { + "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" } }, - "which-module": { + "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 + "dev": true, + "license": "ISC" }, - "which-typed-array": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", - "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", + "node_modules/which-typed-array": { + "version": "1.1.13", "dev": true, - "requires": { - "available-typed-arrays": "^1.0.6", - "call-bind": "^1.0.5", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.1" + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "wildcard": { + "node_modules/wildcard": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" + "license": "MIT" }, - "word-wrap": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "wordwrap": { + "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 + "dev": true, + "license": "MIT" }, - "workbox-background-sync": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "idb": "^7.0.1", "workbox-core": "6.6.0" } }, - "workbox-broadcast-update": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "workbox-core": "6.6.0" } }, - "workbox-build": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@apideck/better-ajv-errors": "^0.3.1", "@babel/core": "^7.11.1", "@babel/preset-env": "^7.11.0", @@ -23283,179 +26706,189 @@ "workbox-sw": "6.6.0", "workbox-window": "6.6.0" }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/workbox-build/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", "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" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "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" - } - }, - "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==", - "dev": true, - "requires": { - "whatwg-url": "^7.0.0" - } - }, - "tempy": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", - "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", - "dev": true, - "requires": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - } - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", - "dev": true - }, - "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==", - "dev": true - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "9.1.0", + "dev": true, + "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/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/workbox-build/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tempy": { + "version": "0.6.0", + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/type-fest": { + "version": "0.16.0", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } }, - "workbox-cacheable-response": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "workbox-core": "6.6.0" } }, - "workbox-core": { + "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==", - "dev": true + "dev": true, + "license": "MIT" }, - "workbox-expiration": { + "node_modules/workbox-expiration": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", - "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "idb": "^7.0.1", "workbox-core": "6.6.0" } }, - "workbox-google-analytics": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "workbox-background-sync": "6.6.0", "workbox-core": "6.6.0", "workbox-routing": "6.6.0", "workbox-strategies": "6.6.0" } }, - "workbox-navigation-preload": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "workbox-core": "6.6.0" } }, - "workbox-precaching": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "workbox-core": "6.6.0", "workbox-routing": "6.6.0", "workbox-strategies": "6.6.0" } }, - "workbox-range-requests": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "workbox-core": "6.6.0" } }, - "workbox-recipes": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "workbox-cacheable-response": "6.6.0", "workbox-core": "6.6.0", "workbox-expiration": "6.6.0", @@ -23464,177 +26897,168 @@ "workbox-strategies": "6.6.0" } }, - "workbox-routing": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "workbox-core": "6.6.0" } }, - "workbox-strategies": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "workbox-core": "6.6.0" } }, - "workbox-streams": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "workbox-core": "6.6.0", "workbox-routing": "6.6.0" } }, - "workbox-sw": { + "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==", - "dev": true + "dev": true, + "license": "MIT" }, - "workbox-webpack-plugin": { + "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==", "dev": true, - "requires": { + "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/webpack-sources": { + "version": "1.4.3", + "dev": true, + "license": "MIT", "dependencies": { - "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" - } - } + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" } }, - "workbox-window": { + "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==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/trusted-types": "^2.0.2", "workbox-core": "6.6.0" } }, - "wrap-ansi": { + "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": { + "license": "MIT", + "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "wrappy": { + "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" }, - "write-file-atomic": { + "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, - "requires": { + "license": "ISC", + "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } }, - "ws": { + "node_modules/ws": { "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true + "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 + } + } }, - "xml-name-validator": { + "node_modules/xml-name-validator": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, - "xmlchars": { + "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" }, - "xtend": { + "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 + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } }, - "y18n": { + "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 + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" }, - "yaml": { + "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 + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } }, - "yargs": { + "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": { + "license": "MIT", + "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", @@ -23643,31 +27067,43 @@ "y18n": "^5.0.5", "yargs-parser": "^21.1.1" }, - "dependencies": { - "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" } }, - "yargs-parser": { + "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 + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } }, - "yn": { + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "yocto-queue": { + "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==" + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/package.json b/package.json index 2cf72f14..1706a788 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "@aws-sdk/client-cloudfront": "^3.414.0", "@aws-sdk/client-s3": "^3.417.0", "@kount/kount-web-client-sdk": "^1.1.6", + "@rescript/core": "^0.7.0", "@rescript/react": "^0.11.0", "@ryyppy/rescript-promise": "^2.1.0", "@sentry/react": "^7.64.0", diff --git a/src/CardUtils.res b/src/CardUtils.res index 0ae19883..9784d253 100644 --- a/src/CardUtils.res +++ b/src/CardUtils.res @@ -142,7 +142,7 @@ let getCurrentMonthAndYear = (dateTimeIsoString: string) => { let tempTimeDateString = dateTimeIsoString->Js.String2.replace("Z", "") let tempTimeDate = tempTimeDateString->Js.String2.split("T") - let date = tempTimeDate[0] + let date = tempTimeDate[0]->Option.getOr("") let dateComponents = date->Js.String2.split("-") let currentMonth = dateComponents->Belt.Array.get(1)->Belt.Option.getWithDefault("") @@ -225,24 +225,24 @@ let getCardBrand = cardNumber => { try { let card = cardNumber->Js.String2.replaceByRe(%re("/[^\d]/g"), "") let rupayRanges = [ - [508227, 508227], - [508500, 508999], - [603741, 603741], - [606985, 607384], - [607385, 607484], - [607485, 607984], - [608001, 608100], - [608101, 608200], - [608201, 608300], - [608301, 608350], - [608351, 608500], - [652150, 652849], - [652850, 653049], - [653050, 653149], - [817290, 817290], + (508227, 508227), + (508500, 508999), + (603741, 603741), + (606985, 607384), + (607385, 607484), + (607485, 607984), + (608001, 608100), + (608101, 608200), + (608201, 608300), + (608301, 608350), + (608351, 608500), + (652150, 652849), + (652850, 653049), + (653050, 653149), + (817290, 817290), ] - let masterCardRanges = [[222100, 272099], [510000, 559999]] + let masterCardRanges = [(222100, 272099), (510000, 559999)] let doesFallInRange = (cardRanges, isin) => { let intIsin = @@ -252,14 +252,10 @@ let getCardBrand = cardNumber => { ->Belt.Int.fromString ->Belt.Option.getWithDefault(0) - let range = cardRanges->Js.Array2.mapi((_, i) => { - let min = cardRanges[i][0] - let max = cardRanges[i][1] - if intIsin >= min && intIsin <= max { - true - } else { - false - } + let range = cardRanges->Js.Array2.map(cardRange => { + let (min, max) = cardRange + + intIsin >= min && intIsin <= max }) range->Js.Array2.includes(true) } @@ -301,12 +297,13 @@ let calculateLuhn = value => { ->Js.Array2.map(item => { let val = item->toInt let double = val * 2 - if double > 9 { - let str = double->Belt.Int.toString - let arr = str->Js.String2.split("") - (arr[0]->toInt + arr[1]->toInt)->Belt.Int.toString - } else { - double->Belt.Int.toString + let str = double->Belt.Int.toString + let arr = str->Js.String2.split("") + + switch (arr[0], arr[1]) { + | (Some(first), Some(second)) if double > 9 => + (first->toInt + second->toInt)->Belt.Int.toString + | _ => str } }) diff --git a/src/Payments/ApplePay.res b/src/Payments/ApplePay.res index ed310c8a..f5956bcb 100644 --- a/src/Payments/ApplePay.res +++ b/src/Payments/ApplePay.res @@ -38,9 +38,10 @@ let make = ( }, [list]) let paymentExperience = React.useMemo1(() => { - applePayPaymentMethodType.payment_experience->Js.Array2.length == 0 - ? PaymentMethodsRecord.RedirectToURL - : applePayPaymentMethodType.payment_experience[0].payment_experience_type + switch applePayPaymentMethodType.payment_experience[0] { + | Some(paymentExperience) => paymentExperience.payment_experience_type + | None => PaymentMethodsRecord.RedirectToURL + } }, [applePayPaymentMethodType]) let isInvokeSDKFlow = React.useMemo1(() => { diff --git a/src/Payments/GPay.res b/src/Payments/GPay.res index d69fea63..661f7ff8 100644 --- a/src/Payments/GPay.res +++ b/src/Payments/GPay.res @@ -43,10 +43,10 @@ let make = ( } let isWallet = walletOptions->Js.Array2.includes("google_pay") - let paymentExperience = - googlePayPaymentMethodType.payment_experience->Js.Array2.length == 0 - ? PaymentMethodsRecord.RedirectToURL - : googlePayPaymentMethodType.payment_experience[0].payment_experience_type + let paymentExperience = switch googlePayPaymentMethodType.payment_experience[0] { + | Some(paymentExperience) => paymentExperience.payment_experience_type + | None => PaymentMethodsRecord.RedirectToURL + } let isInvokeSDKFlow = React.useMemo1(() => { (isGooglePaySDKFlow || isGooglePayThirdPartyFlow) && diff --git a/src/Types/ThemeImporter.res b/src/Types/ThemeImporter.res index 04b10884..10572cff 100644 --- a/src/Types/ThemeImporter.res +++ b/src/Types/ThemeImporter.res @@ -2,7 +2,6 @@ type themeDataModule = { default: CardThemeType.themeClass, defaultRules: CardThemeType.themeClass => Js.Json.t, } -open Promise @val -external importTheme: string => t = "import" +external importTheme: string => Promise.t = "import" diff --git a/src/Utilities/PaymentHelpers.res b/src/Utilities/PaymentHelpers.res index c4e7e54f..b99cc78f 100644 --- a/src/Utilities/PaymentHelpers.res +++ b/src/Utilities/PaymentHelpers.res @@ -14,8 +14,7 @@ let closePaymentLoaderIfAny = () => let retrievePaymentIntent = (clientSecret, headers, ~optLogger, ~switchToCustomPod) => { open Promise - let paymentIntentID = - Js.String2.split(clientSecret, "_secret_")->Belt.Array.get(0)->Belt.Option.getWithDefault("") + let paymentIntentID = Js.String2.split(clientSecret, "_secret_")[0]->Option.getOr("") let endpoint = ApiEndpoint.getApiEndPoint() let uri = `${endpoint}/payments/${paymentIntentID}?client_secret=${clientSecret}` @@ -507,10 +506,7 @@ let usePaymentSync = (optLogger: option, paymentType: pay (~handleUserError=false, ~confirmParam: ConfirmType.confirmParams, ~iframeId="", ()) => { switch keys.clientSecret { | Some(clientSecret) => - let paymentIntentID = - Js.String2.split(clientSecret, "_secret_") - ->Belt.Array.get(0) - ->Belt.Option.getWithDefault("") + let paymentIntentID = Js.String2.split(clientSecret, "_secret_")[0]->Option.getOr("") let headers = [("Content-Type", "application/json"), ("api-key", confirmParam.publishableKey)] let endpoint = ApiEndpoint.getApiEndPoint(~publishableKey=confirmParam.publishableKey, ()) let uri = `${endpoint}/payments/${paymentIntentID}?force_sync=true&client_secret=${clientSecret}` @@ -596,10 +592,7 @@ let usePaymentIntent = (optLogger: option, paymentType: p ) => { switch keys.clientSecret { | Some(clientSecret) => - let paymentIntentID = - Js.String2.split(clientSecret, "_secret_") - ->Belt.Array.get(0) - ->Belt.Option.getWithDefault("") + let paymentIntentID = Js.String2.split(clientSecret, "_secret_")[0]->Option.getOr("") let headers = [("Content-Type", "application/json"), ("api-key", confirmParam.publishableKey)] let returnUrlArr = [("return_url", confirmParam.return_url->Js.Json.string)] let manual_retry = isManualRetryEnabled diff --git a/src/Utilities/Utils.res b/src/Utilities/Utils.res index 73e257be..afad299f 100644 --- a/src/Utilities/Utils.res +++ b/src/Utilities/Utils.res @@ -404,16 +404,15 @@ let validatePhoneNumber = (countryCode, number) => { ->Belt.Option.flatMap(Js.Json.decodeString) ->Belt.Option.getWithDefault("") == countryCode }) - if filteredArr->Js.Array2.length > 0 { - let obj = filteredArr[0] + switch filteredArr[0] { + | Some(obj) => let regex = obj ->Js.Dict.get("validation_regex") ->Belt.Option.flatMap(Js.Json.decodeString) ->Belt.Option.getWithDefault("") Js.Re.test_(regex->Js.Re.fromString, number) - } else { - false + | None => false } } @@ -615,11 +614,12 @@ let validateRountingNumber = str => { if str->Js.String2.length != 9 { false } else { - let weights = [3, 7, 1, 3, 7, 1, 3, 7, 1] + let firstWeight = 3 + let weights = [firstWeight, 7, 1, 3, 7, 1, 3, 7, 1] let sum = str ->Js.String2.split("") - ->Js.Array2.mapi((item, i) => item->toInt * weights[i]) + ->Js.Array2.mapi((item, i) => item->toInt * weights[i]->Option.getOr(firstWeight)) ->Js.Array2.reduce((acc, val) => { acc + val }, 0) diff --git a/src/orca-loader/Hyper.res b/src/orca-loader/Hyper.res index 87ebe095..bb037fba 100644 --- a/src/orca-loader/Hyper.res +++ b/src/orca-loader/Hyper.res @@ -186,7 +186,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionOption.getOr("") let retrievePaymentUrl = `${endpoint}/payments/${paymentIntentID}?client_secret=${clientSecret}` open Promise logApi( diff --git a/src/orca-loader/OrcaUtils.res b/src/orca-loader/OrcaUtils.res index 9e5b6888..bbe4aa1c 100644 --- a/src/orca-loader/OrcaUtils.res +++ b/src/orca-loader/OrcaUtils.res @@ -163,26 +163,26 @@ let rec flatten = (obj, addIndicatorForObject) => { } let rec setNested = (dict, keys, value) => { - if keys->Js.Array.length === 0 { - () - } else if keys->Js.Array.length === 1 { - Js.Dict.set(dict, keys[0], value) - } else { - let key = keys[0] - let subDict = switch Js.Dict.get(dict, key) { - | Some(json) => - switch json->Js.Json.decodeObject { - | Some(obj) => obj - | None => dict - } - | None => { + switch keys[0] { + | Some(firstKey) => + if keys->Js.Array.length === 1 { + Js.Dict.set(dict, firstKey, value) + } else { + let subDict = switch Js.Dict.get(dict, firstKey) { + | Some(json) => + switch json->Js.Json.decodeObject { + | Some(obj) => obj + | None => dict + } + | None => let subDict = Js.Dict.empty() - Js.Dict.set(dict, key, subDict->Js.Json.object_) + dict->Dict.set(firstKey, subDict->Js.Json.object_) subDict } + let remainingKeys = keys->Js.Array2.sliceFrom(1) + setNested(subDict, remainingKeys, value) } - let remainingKeys = keys->Js.Array2.sliceFrom(1) - setNested(subDict, remainingKeys, value) + | None => () } } From b2937413aa491bdeebf4b792cb21ce9fb81c500e Mon Sep 17 00:00:00 2001 From: Pritish Budhiraja <1805317@kiit.ac.in> Date: Thu, 7 Mar 2024 11:35:11 +0530 Subject: [PATCH 02/17] refactor(belt.option changes to core): refactor: Belt.Option changes to core refactor: Belt.Option changes to core --- src/CardTheme.res | 18 ++-- src/CardUtils.res | 34 +++---- src/Components/AddBankAccount.res | 17 +++- src/Components/DropdownField.res | 2 +- src/Components/DynamicFields.res | 4 +- src/Components/EmailPaymentInput.res | 4 +- src/Components/FullScreenPortal.res | 2 +- src/Components/PaymentDropDownField.res | 4 +- src/Components/SavedCardItem.res | 2 +- src/Components/Surcharge.res | 17 +++- src/Components/SurchargeUtils.res | 2 +- src/Hooks/CommonHooks.res | 4 +- src/LoaderController.res | 24 +++-- src/Payment.res | 18 ++-- src/PaymentElement.res | 4 +- src/PaymentOptions.res | 11 ++- src/Payments/ACHBankDebit.res | 8 +- src/Payments/ACHBankTransfer.res | 2 +- src/Payments/ApplePay.res | 20 ++-- src/Payments/BacsBankDebit.res | 4 +- src/Payments/BacsBankTransfer.res | 3 +- src/Payments/BankDebitModal.res | 2 +- src/Payments/BankTransfersPopup.res | 25 +++-- src/Payments/BecsBankDebit.res | 2 +- src/Payments/CardPayment.res | 8 +- src/Payments/GPay.res | 20 ++-- src/Payments/KlarnaPayment.res | 5 +- src/Payments/PayPal.res | 2 +- src/Payments/PaymentMethodsRecord.res | 52 +++++----- src/Payments/PaymentMethodsWrapper.res | 12 +-- src/Payments/PaypalSDK.res | 2 +- src/Payments/PreMountLoader.res | 6 +- src/Payments/QRCodeDisplay.res | 20 ++-- src/Payments/SepaBankDebit.res | 2 +- src/Payments/SepaBankTransfer.res | 5 +- src/Payments/VoucherDisplay.res | 5 +- src/Types/ConfirmType.res | 6 +- src/Types/ElementType.res | 24 ++--- src/Types/GooglePayType.res | 12 +-- src/Types/PaymentConfirmTypes.res | 30 +++--- src/Types/PaymentError.res | 6 +- src/Types/PaymentType.res | 93 +++++++++-------- src/Types/PostalCodeType.res | 3 +- src/Types/SessionsType.res | 14 +-- src/Utilities/DynamicFieldsUtils.res | 38 ++++--- src/Utilities/PaymentBody.res | 4 +- src/Utilities/PaymentHelpers.res | 32 +++--- src/Utilities/PaymentUtils.res | 7 +- src/Utilities/Utils.res | 121 ++++++++++------------- src/orca-loader/Elements.res | 96 +++++++++--------- src/orca-loader/Hyper.res | 75 ++++++-------- src/orca-loader/LoaderPaymentElement.res | 41 ++++---- src/orca-loader/OrcaUtils.res | 52 ++++------ src/orca-log-catcher/ErrorBoundary.res | 8 +- src/orca-log-catcher/OrcaLogger.res | 65 ++++++------ 55 files changed, 526 insertions(+), 573 deletions(-) diff --git a/src/CardTheme.res b/src/CardTheme.res index 28c3d6da..dc1f400a 100644 --- a/src/CardTheme.res +++ b/src/CardTheme.res @@ -78,7 +78,7 @@ let getLocaleObject = string => { LocaleString.localeStrings ->Js.Array2.filter(item => item.locale == val) ->Belt.Array.get(0) - ->Belt.Option.getWithDefault(LocaleString.defaultLocale) + ->Option.getOr(LocaleString.defaultLocale) } let defaultRecoilConfig: recoilConfig = { config: defaultConfig, @@ -90,8 +90,8 @@ let defaultRecoilConfig: recoilConfig = { let getVariables = (str, dict, default, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { let validKeys = [ "fontFamily", "fontSizeBase", @@ -246,7 +246,7 @@ let getVariables = (str, dict, default, logger) => { spacingGridRow: getWarningString(json, "spacingGridRow", default.spacingGridRow, ~logger), } }) - ->Belt.Option.getWithDefault(default) + ->Option.getOr(default) } let getAppearance = ( @@ -258,8 +258,8 @@ let getAppearance = ( ) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { unknownKeysWarning(["theme", "variables", "rules", "labels"], json, "appearance", ~logger) let rulesJson = defaultRules(getVariables("variables", json, default, logger)) @@ -280,13 +280,13 @@ let getAppearance = ( }, } }) - ->Belt.Option.getWithDefault(defaultAppearance) + ->Option.getOr(defaultAppearance) } let getFonts = (str, dict, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeArray) - ->Belt.Option.getWithDefault([]) + ->Option.flatMap(Js.Json.decodeArray) + ->Option.getOr([]) ->Belt.Array.keepMap(Js.Json.decodeObject) ->Js.Array2.map(json => { unknownKeysWarning(["cssSrc", "family", "src", "weight"], json, "fonts", ~logger) diff --git a/src/CardUtils.res b/src/CardUtils.res index 9784d253..4820281e 100644 --- a/src/CardUtils.res +++ b/src/CardUtils.res @@ -70,7 +70,7 @@ type options = {timeZone: string} type dateTimeFormat = {resolvedOptions: (. unit) => options} @val @scope("Intl") external dateTimeFormat: (. unit) => dateTimeFormat = "DateTimeFormat" -let toInt = val => val->Belt.Int.fromString->Belt.Option.getWithDefault(0) +let toInt = val => val->Belt.Int.fromString->Option.getOr(0) let toString = val => val->Belt.Int.toString let getQueryParamsDictforKey = (searchParams, keyName) => { @@ -80,16 +80,16 @@ let getQueryParamsDictforKey = (searchParams, keyName) => { ->Js.String2.split("&") ->Js.Array2.forEach(paramStr => { let keyValArr = Js.String2.split(paramStr, "=") - let key = keyValArr->Belt.Array.get(0)->Belt.Option.getWithDefault("") + let key = keyValArr->Belt.Array.get(0)->Option.getOr("") let value = if keyValArr->Js.Array2.length > 0 { - keyValArr->Belt.Array.get(1)->Belt.Option.getWithDefault("") + keyValArr->Belt.Array.get(1)->Option.getOr("") } else { "" } Js.Dict.set(dict, key, value) }) - dict->Js.Dict.get(keyName)->Belt.Option.getWithDefault("") + dict->Js.Dict.get(keyName)->Option.getOr("") } let cardType = val => { switch val { @@ -117,7 +117,7 @@ let getobjFromCardPattern = cardBrand => { cardBrand === item.issuer }) ->Belt.Array.get(0) - ->Belt.Option.getWithDefault(CardPattern.defaultCardPattern) + ->Option.getOr(CardPattern.defaultCardPattern) } let clearSpaces = value => { @@ -129,7 +129,7 @@ let slice = (val, from: int, to_: int) => { } let getStrFromIndex = (arr: array, index) => { - arr->Belt.Array.get(index)->Belt.Option.getWithDefault("") + arr->Belt.Array.get(index)->Option.getOr("") } let formatCVCNumber = (val, cardType) => { @@ -145,8 +145,8 @@ let getCurrentMonthAndYear = (dateTimeIsoString: string) => { let date = tempTimeDate[0]->Option.getOr("") let dateComponents = date->Js.String2.split("-") - let currentMonth = dateComponents->Belt.Array.get(1)->Belt.Option.getWithDefault("") - let currentYear = dateComponents->Belt.Array.get(0)->Belt.Option.getWithDefault("") + let currentMonth = dateComponents->Belt.Array.get(1)->Option.getOr("") + let currentYear = dateComponents->Belt.Array.get(0)->Option.getOr("") (currentMonth->toInt, currentYear->toInt) } @@ -178,8 +178,8 @@ let formatCardNumber = (val, cardType) => { let splitExpiryDates = val => { let split = val->Js.String2.split("/") let value = split->Js.Array2.map(item => item->Js.String2.trim) - let month = value->Belt.Array.get(0)->Belt.Option.getWithDefault("") - let year = value->Belt.Array.get(1)->Belt.Option.getWithDefault("") + let month = value->Belt.Array.get(0)->Option.getOr("") + let year = value->Belt.Array.get(1)->Option.getOr("") (month, year) } let getExpiryDates = val => { @@ -250,7 +250,7 @@ let getCardBrand = cardNumber => { ->Js.String2.replaceByRe(%re("/[^\d]/g"), "") ->Js.String2.substring(~from=0, ~to_=6) ->Belt.Int.fromString - ->Belt.Option.getWithDefault(0) + ->Option.getOr(0) let range = cardRanges->Js.Array2.map(cardRange => { let (min, max) = cardRange @@ -267,7 +267,7 @@ let getCardBrand = cardNumber => { } else { patternsDict ->Js.Array2.map(item => { - if Js.String2.match_(card, item.pattern)->Belt.Option.isSome { + if Js.String2.match_(card, item.pattern)->Option.isSome { item.issuer } else { "" @@ -275,7 +275,7 @@ let getCardBrand = cardNumber => { }) ->Js.Array2.filter(item => item !== "") ->Belt.Array.get(0) - ->Belt.Option.getWithDefault("") + ->Option.getOr("") } } catch { | _error => "" @@ -434,7 +434,7 @@ let cardValid = (cardNumber, cardBrand) => { (cardBrand === "Visa" && clearValueLength == 16)) && calculateLuhn(cardNumber) } let blurRef = (ref: React.ref>) => { - ref.current->Js.Nullable.toOption->Belt.Option.forEach(input => input->blur)->ignore + ref.current->Js.Nullable.toOption->Option.forEach(input => input->blur)->ignore } let handleInputFocus = ( ~currentRef: React.ref>, @@ -442,7 +442,7 @@ let handleInputFocus = ( ) => { let optionalRef = destinationRef.current->Js.Nullable.toOption switch optionalRef { - | Some(_) => optionalRef->Belt.Option.forEach(input => input->focus)->ignore + | Some(_) => optionalRef->Option.forEach(input => input->focus)->ignore | None => blurRef(currentRef) } } @@ -515,13 +515,13 @@ let pincodeVisibility = cardNumber => { CardPattern.cardPatterns ->Js.Array2.filter(obj => obj.issuer == brand) ->Belt.Array.get(0) - ->Belt.Option.getWithDefault(CardPattern.defaultCardPattern) + ->Option.getOr(CardPattern.defaultCardPattern) brandPattern.pincodeRequired } let swapCardOption = (cardOpts: array, dropOpts: array, selectedOption: string) => { let popEle = Js.Array2.pop(cardOpts) - dropOpts->Js.Array2.push(popEle->Belt.Option.getWithDefault(""))->ignore + dropOpts->Js.Array2.push(popEle->Option.getOr(""))->ignore cardOpts->Js.Array2.push(selectedOption)->ignore let temp: array = dropOpts->Js.Array2.filter(item => item != selectedOption) (cardOpts, temp) diff --git a/src/Components/AddBankAccount.res b/src/Components/AddBankAccount.res index e7dbb146..3521b71b 100644 --- a/src/Components/AddBankAccount.res +++ b/src/Components/AddBankAccount.res @@ -30,7 +30,7 @@ module ToolTip = { @react.component let make = (~modalData, ~setModalData) => { - let isDataAvailable = modalData->Belt.Option.isSome + let isDataAvailable = modalData->Option.isSome let {themeObj, localeString} = Recoil.useRecoilValueFromAtom(configAtom) let {iframeId} = Recoil.useRecoilValueFromAtom(keys) let (openToolTip, setOpenToolTip) = React.useState(_ => false) @@ -64,7 +64,9 @@ let make = (~modalData, ~setModalData) => {
-
+
+ +
{React.string(`Bank **** ${last4digts}`)}
{
- | None => <> + | None => + <>
-
+
+ +
{React.string(localeString.addBankAccount)}
-
+
+ +
}} diff --git a/src/Components/DropdownField.res b/src/Components/DropdownField.res index 6b860689..7ee8f3db 100644 --- a/src/Components/DropdownField.res +++ b/src/Components/DropdownField.res @@ -30,7 +30,7 @@ let make = ( }, [themeObj]) React.useEffect0(() => { if value === "" { - setValue(_ => options->Belt.Array.get(0)->Belt.Option.getWithDefault("")) + setValue(_ => options->Belt.Array.get(0)->Option.getOr("")) } None }) diff --git a/src/Components/DynamicFields.res b/src/Components/DynamicFields.res index a9aed4c9..8da52365 100644 --- a/src/Components/DynamicFields.res +++ b/src/Components/DynamicFields.res @@ -29,7 +29,7 @@ let make = ( ~paymentMethodType=paymentMethod, ~paymentMethodName=paymentMethodType, ), - )->Belt.Option.getWithDefault(PaymentMethodsRecord.defaultPaymentMethodType) + )->Option.getOr(PaymentMethodsRecord.defaultPaymentMethodType) }, (list, paymentMethod, paymentMethodType)) let requiredFieldsWithBillingDetails = React.useMemo3(() => { @@ -155,7 +155,7 @@ let make = ( ) React.useEffect0(() => { - let bank = bankNames->Belt.Array.get(0)->Belt.Option.getWithDefault("") + let bank = bankNames->Belt.Array.get(0)->Option.getOr("") setSelectedBank(_ => bank) None }) diff --git a/src/Components/EmailPaymentInput.res b/src/Components/EmailPaymentInput.res index a207be73..c7d5cca4 100644 --- a/src/Components/EmailPaymentInput.res +++ b/src/Components/EmailPaymentInput.res @@ -18,9 +18,7 @@ let make = (~paymentType) => { setEmail(.prev => { value: val, isValid: val->Utils.isEmailValid, - errorString: val->Utils.isEmailValid->Belt.Option.getWithDefault(false) - ? "" - : prev.errorString, + errorString: val->Utils.isEmailValid->Option.getOr(false) ? "" : prev.errorString, }) } let onBlur = ev => { diff --git a/src/Components/FullScreenPortal.res b/src/Components/FullScreenPortal.res index 18a4ca15..52b40e21 100644 --- a/src/Components/FullScreenPortal.res +++ b/src/Components/FullScreenPortal.res @@ -12,7 +12,7 @@ let make = (~children) => { let json = ev.data->Js.Json.parseExn let dict = json->getDictFromJson - if dict->Js.Dict.get("fullScreenIframeMounted")->Belt.Option.isSome { + if dict->Js.Dict.get("fullScreenIframeMounted")->Option.isSome { if dict->getBool("fullScreenIframeMounted", false) { setFullScreenIframeNode(_ => switch Window.windowParent->Window.fullscreen { diff --git a/src/Components/PaymentDropDownField.res b/src/Components/PaymentDropDownField.res index 29b7feac..a22b6b82 100644 --- a/src/Components/PaymentDropDownField.res +++ b/src/Components/PaymentDropDownField.res @@ -28,7 +28,7 @@ let make = ( } } React.useEffect1(() => { - let initialValue = options->Belt.Array.get(0)->Belt.Option.getWithDefault("") + let initialValue = options->Belt.Array.get(0)->Option.getOr("") if ( value.value === "" || value.value === initialValue || @@ -41,7 +41,7 @@ let make = ( }) } None - }, [options->Belt.Array.get(0)->Belt.Option.getWithDefault("")]) + }, [options->Belt.Array.get(0)->Option.getOr("")]) let handleFocus = _ => { setInputFocused(_ => true) // setValue(.prev => { diff --git a/src/Components/SavedCardItem.res b/src/Components/SavedCardItem.res index 193d25d5..cafb27ae 100644 --- a/src/Components/SavedCardItem.res +++ b/src/Components/SavedCardItem.res @@ -36,7 +36,7 @@ let make = ( ) let optionalRef = cvcRef.current->Js.Nullable.toOption switch optionalRef { - | Some(_) => optionalRef->Belt.Option.forEach(input => input->CardUtils.focus)->ignore + | Some(_) => optionalRef->Option.forEach(input => input->CardUtils.focus)->ignore | None => () } } diff --git a/src/Components/Surcharge.res b/src/Components/Surcharge.res index f8821d4b..36b006c2 100644 --- a/src/Components/Surcharge.res +++ b/src/Components/Surcharge.res @@ -14,7 +14,7 @@ let make = ( ~paymentMethodType=paymentMethod, ~paymentMethodName=paymentMethodType, ), - )->Belt.Option.getWithDefault(PaymentMethodsRecord.defaultPaymentMethodType) + )->Option.getOr(PaymentMethodsRecord.defaultPaymentMethodType) } let paymentMethodTypes = paymentMethodType->getPaymentMethodTypes @@ -24,7 +24,8 @@ let make = ( SurchargeUtils.getOneClickWalletsMessage(~list) } else { switch paymentMethodTypes.surcharge_details { - | Some(surchargeDetails) => SurchargeUtils.getMessage(~paymentMethod, ~surchargeDetails, ~list) + | Some(surchargeDetails) => + SurchargeUtils.getMessage(~paymentMethod, ~surchargeDetails, ~list) | None => if paymentMethod === "card" { let creditPaymentMethodTypes = getPaymentMethodTypes("credit") @@ -44,9 +45,17 @@ let make = ( let debitCardSurcharge = debitSurchargeDetails.displayTotalSurchargeAmount if creditCardSurcharge >= debitCardSurcharge { - SurchargeUtils.getMessage(~paymentMethod, ~surchargeDetails={creditSurchargeDetails}, ~list) + SurchargeUtils.getMessage( + ~paymentMethod, + ~surchargeDetails={creditSurchargeDetails}, + ~list, + ) } else { - SurchargeUtils.getMessage(~paymentMethod, ~surchargeDetails={debitSurchargeDetails}, ~list) + SurchargeUtils.getMessage( + ~paymentMethod, + ~surchargeDetails={debitSurchargeDetails}, + ~list, + ) } | (None, Some(surchargeDetails)) | (Some(surchargeDetails), None) => diff --git a/src/Components/SurchargeUtils.res b/src/Components/SurchargeUtils.res index cc077d97..8b250fb7 100644 --- a/src/Components/SurchargeUtils.res +++ b/src/Components/SurchargeUtils.res @@ -31,7 +31,7 @@ let getSurchargeDetailsForOneClickWallets = (~list) => { ~list, ~paymentMethod="wallet", ~paymentMethodType=wallet.paymentMethodType, - )->Belt.Option.getWithDefault(PaymentMethodsRecord.defaultPaymentMethodType) + )->Option.getOr(PaymentMethodsRecord.defaultPaymentMethodType) switch paymentMethodType.surcharge_details { | Some(surchargDetails) => acc->Js.Array2.concat([ diff --git a/src/Hooks/CommonHooks.res b/src/Hooks/CommonHooks.res index b5fd1f56..10c27fdb 100644 --- a/src/Hooks/CommonHooks.res +++ b/src/Hooks/CommonHooks.res @@ -67,8 +67,8 @@ let useScript = (src: string) => { let updateKeys = (dict, keyPair, setKeys) => { let (key, value) = keyPair - let valueStr = value->Js.Json.decodeString->Belt.Option.getWithDefault("") - let valueBool = default => value->Js.Json.decodeBoolean->Belt.Option.getWithDefault(default) + let valueStr = value->Js.Json.decodeString->Option.getOr("") + let valueBool = default => value->Js.Json.decodeBoolean->Option.getOr(default) if dict->Utils.getDictIsSome(key) { switch key { | "iframeId" => diff --git a/src/LoaderController.res b/src/LoaderController.res index d9e861c8..cb1fb046 100644 --- a/src/LoaderController.res +++ b/src/LoaderController.res @@ -137,7 +137,8 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { setList(._ => updatedState) logger.setLogInfo(~value="SemiLoaded", ~eventName=LOADER_CHANGED, ()) } - | LoadError(x) => logger.setLogError( + | LoadError(x) => + logger.setLogError( ~value="LoadError: " ++ x->Js.Json.stringify, ~eventName=LOADER_CHANGED, (), @@ -204,14 +205,14 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { if ( dict ->Js.Dict.get("paymentElementCreate") - ->Belt.Option.flatMap(Js.Json.decodeBoolean) - ->Belt.Option.getWithDefault(false) + ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.getOr(false) ) { if ( dict ->Js.Dict.get("otherElements") - ->Belt.Option.flatMap(Js.Json.decodeBoolean) - ->Belt.Option.getWithDefault(false) + ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.getOr(false) ) { updateOptions(dict) } else { @@ -311,13 +312,13 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { | Some(val) => setKeys(.prev => { ...prev, - clientSecret: Some(val->Js.Json.decodeString->Belt.Option.getWithDefault("")), + clientSecret: Some(val->Js.Json.decodeString->Option.getOr("")), }) setConfig(.prev => { ...prev, config: { ...prev.config, - clientSecret: val->Js.Json.decodeString->Belt.Option.getWithDefault(""), + clientSecret: val->Js.Json.decodeString->Option.getOr(""), }, }) | None => () @@ -342,10 +343,7 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { } if dict->getDictIsSome("isReadyToPay") { setIsGooglePayReady(._ => - dict - ->getJsonObjectFromDict("isReadyToPay") - ->Js.Json.decodeBoolean - ->Belt.Option.getWithDefault(false) + dict->getJsonObjectFromDict("isReadyToPay")->Js.Json.decodeBoolean->Option.getOr(false) ) } if dict->getDictIsSome("paymentMethodList") { @@ -382,10 +380,10 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { customerPaymentMethods, }) } - if dict->Js.Dict.get("applePayCanMakePayments")->Belt.Option.isSome { + if dict->Js.Dict.get("applePayCanMakePayments")->Option.isSome { setIsApplePayReady(._ => true) } - if dict->Js.Dict.get("applePaySessionObjNotPresent")->Belt.Option.isSome { + if dict->Js.Dict.get("applePaySessionObjNotPresent")->Option.isSome { setIsApplePayReady(.prev => prev && false) } } catch { diff --git a/src/Payment.res b/src/Payment.res index 74baac97..44b3e081 100644 --- a/src/Payment.res +++ b/src/Payment.res @@ -125,7 +125,7 @@ let make = (~paymentMode, ~integrateError, ~logger) => { let cvc = val->formatCVCNumber(cardBrand) setCvcNumber(_ => cvc) if cvc->Js.String2.length > 0 && cvcNumberInRange(cvc, cardBrand)->Js.Array2.includes(true) { - zipRef.current->Js.Nullable.toOption->Belt.Option.forEach(input => input->focus)->ignore + zipRef.current->Js.Nullable.toOption->Option.forEach(input => input->focus)->ignore } } @@ -218,11 +218,11 @@ let make = (~paymentMode, ~integrateError, ~logger) => { let submitValue = (_ev, confirmParam) => { let validFormat = switch paymentMode->getPaymentMode { | Card => - isCardValid->Belt.Option.getWithDefault(false) && - isExpiryValid->Belt.Option.getWithDefault(false) && - isCVCValid->Belt.Option.getWithDefault(false) + isCardValid->Option.getOr(false) && + isExpiryValid->Option.getOr(false) && + isCVCValid->Option.getOr(false) | CardNumberElement => - isCardValid->Belt.Option.getWithDefault(false) && + isCardValid->Option.getOr(false) && checkCardCVC(getCardElementValue(iframeId, "card-cvc"), cardBrand) && checkCardExpiry(getCardElementValue(iframeId, "card-expiry")) | _ => true @@ -296,13 +296,13 @@ let make = (~paymentMode, ~integrateError, ~logger) => { | _ => Js.Dict.empty()->Js.Json.object_ } let dict = json->Utils.getDictFromJson - if dict->Js.Dict.get("doBlur")->Belt.Option.isSome { + if dict->Js.Dict.get("doBlur")->Option.isSome { logger.setLogInfo(~value="doBlur Triggered", ~eventName=BLUR, ()) setBlurState(_ => true) - } else if dict->Js.Dict.get("doFocus")->Belt.Option.isSome { + } else if dict->Js.Dict.get("doFocus")->Option.isSome { logger.setLogInfo(~value="doFocus Triggered", ~eventName=FOCUS, ()) - cardRef.current->Js.Nullable.toOption->Belt.Option.forEach(input => input->focus)->ignore - } else if dict->Js.Dict.get("doClearValues")->Belt.Option.isSome { + cardRef.current->Js.Nullable.toOption->Option.forEach(input => input->focus)->ignore + } else if dict->Js.Dict.get("doClearValues")->Option.isSome { logger.setLogInfo(~value="doClearValues Triggered", ~eventName=CLEAR, ()) //clear all values setCardNumber(_ => "") diff --git a/src/PaymentElement.res b/src/PaymentElement.res index 9c7b049b..92d8ada5 100644 --- a/src/PaymentElement.res +++ b/src/PaymentElement.res @@ -149,8 +149,8 @@ let make = ( | Loaded(_) => paymentOptions->Js.Array2.includes(selectedOption) && showCardFormByDefault ? selectedOption - : paymentOptions->Belt.Array.get(0)->Belt.Option.getWithDefault("") - | _ => paymentOptions->Belt.Array.get(0)->Belt.Option.getWithDefault("") + : paymentOptions->Belt.Array.get(0)->Option.getOr("") + | _ => paymentOptions->Belt.Array.get(0)->Option.getOr("") } ) None diff --git a/src/PaymentOptions.res b/src/PaymentOptions.res index a6873afc..0689dab3 100644 --- a/src/PaymentOptions.res +++ b/src/PaymentOptions.res @@ -79,7 +79,7 @@ let make = ( let selectedPaymentOption = PaymentMethodsRecord.paymentMethodsFields ->Js.Array2.find(item => item.paymentMethodName == selectedOption) - ->Belt.Option.getWithDefault(PaymentMethodsRecord.defaultPaymentMethodFields) + ->Option.getOr(PaymentMethodsRecord.defaultPaymentMethodFields) React.useEffect1(() => { let intervalId = Js.Global.setInterval(() => { @@ -87,9 +87,12 @@ let make = ( setMoreIconIndex(prev => mod(prev + 1, dropDownOptionsDetails->Belt.Array.length)) setToggleIconElement(_ => true) - Js.Global.setTimeout(() => { - setToggleIconElement(_ => false) - }, 10)->ignore + Js.Global.setTimeout( + () => { + setToggleIconElement(_ => false) + }, + 10, + )->ignore } }, 5000) diff --git a/src/Payments/ACHBankDebit.res b/src/Payments/ACHBankDebit.res index 05b15b9e..ef1ca2d1 100644 --- a/src/Payments/ACHBankDebit.res +++ b/src/Payments/ACHBankDebit.res @@ -37,7 +37,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) ) React.useEffect1(() => { - if modalData->Belt.Option.isSome { + if modalData->Option.isSome { setBankError(_ => "") } None @@ -46,8 +46,8 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) let complete = email.value != "" && fullName.value != "" && - email.isValid->Belt.Option.getWithDefault(false) && - modalData->Belt.Option.isSome + email.isValid->Option.getOr(false) && + modalData->Option.isSome let empty = email.value == "" || fullName.value != "" React.useEffect2(() => { @@ -60,7 +60,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) let confirm = json->Utils.getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit { - if modalData->Belt.Option.isNone { + if modalData->Option.isNone { setBankError(_ => "Enter bank details and then confirm payment") } if complete { diff --git a/src/Payments/ACHBankTransfer.res b/src/Payments/ACHBankTransfer.res index dd68d80a..1753c213 100644 --- a/src/Payments/ACHBankTransfer.res +++ b/src/Payments/ACHBankTransfer.res @@ -10,7 +10,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) let (email, _) = Recoil.useLoggedRecoilState(userEmailAddress, "email", loggerState) let setComplete = Recoil.useSetRecoilState(fieldsComplete) - let complete = email.value != "" && email.isValid->Belt.Option.getWithDefault(false) + let complete = email.value != "" && email.isValid->Option.getOr(false) let empty = email.value == "" React.useEffect2(() => { diff --git a/src/Payments/ApplePay.res b/src/Payments/ApplePay.res index f5956bcb..09a18a76 100644 --- a/src/Payments/ApplePay.res +++ b/src/Payments/ApplePay.res @@ -18,7 +18,7 @@ let make = ( let sync = PaymentHelpers.usePaymentSync(None, Applepay) let options = Recoil.useRecoilValueFromAtom(RecoilAtoms.optionAtom) let (applePayClicked, setApplePayClicked) = React.useState(_ => false) - let isApplePaySDKFlow = sessionObj->Belt.Option.isSome + let isApplePaySDKFlow = sessionObj->Option.isSome let {localeString} = Recoil.useRecoilValueFromAtom(RecoilAtoms.configAtom) let (requiredFieldsBody, setRequiredFieldsBody) = React.useState(_ => Js.Dict.empty()) let areRequiredFieldsValid = Recoil.useRecoilValueFromAtom(RecoilAtoms.areRequiredFieldsValid) @@ -240,18 +240,18 @@ let make = ( open Promise OrcaUtils.makeOneClickHandlerPromise(sdkHandleOneClickConfirmPayment) ->then(result => { - let result = result->Js.Json.decodeBoolean->Belt.Option.getWithDefault(false) + let result = result->Js.Json.decodeBoolean->Option.getOr(false) if result { if isInvokeSDKFlow { let isDelayedSessionToken = sessionObj - ->Belt.Option.getWithDefault(Js.Json.null) + ->Option.getOr(Js.Json.null) ->Js.Json.decodeObject - ->Belt.Option.getWithDefault(Js.Dict.empty()) + ->Option.getOr(Js.Dict.empty()) ->Js.Dict.get("delayed_session_token") - ->Belt.Option.getWithDefault(Js.Json.null) + ->Option.getOr(Js.Json.null) ->Js.Json.decodeBoolean - ->Belt.Option.getWithDefault(false) + ->Option.getOr(false) if isDelayedSessionToken { setShowApplePayLoader(_ => true) @@ -283,19 +283,19 @@ let make = ( try { let dict = json->Utils.getDictFromJson - if dict->Js.Dict.get("applePayProcessPayment")->Belt.Option.isSome { + if dict->Js.Dict.get("applePayProcessPayment")->Option.isSome { let token = dict ->Js.Dict.get("applePayProcessPayment") - ->Belt.Option.getWithDefault(Js.Dict.empty()->Js.Json.object_) + ->Option.getOr(Js.Dict.empty()->Js.Json.object_) let bodyDict = PaymentBody.applePayBody(~token, ~connectors) processPayment(bodyDict) - } else if dict->Js.Dict.get("showApplePayButton")->Belt.Option.isSome { + } else if dict->Js.Dict.get("showApplePayButton")->Option.isSome { setApplePayClicked(_ => false) if !isWallet { postFailedSubmitResponse(~errortype="server_error", ~message="Something went wrong") } - } else if dict->Js.Dict.get("applePaySyncPayment")->Belt.Option.isSome { + } else if dict->Js.Dict.get("applePaySyncPayment")->Option.isSome { syncPayment() } } catch { diff --git a/src/Payments/BacsBankDebit.res b/src/Payments/BacsBankDebit.res index 42c4f7cc..9f3a5dc6 100644 --- a/src/Payments/BacsBankDebit.res +++ b/src/Payments/BacsBankDebit.res @@ -46,12 +46,12 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) let complete = email.value != "" && - email.isValid->Belt.Option.getWithDefault(false) && + email.isValid->Option.getOr(false) && sortcode->cleanSortCode->Js.String2.length == 6 && accountNumber != "" && fullName.value != "" && isAddressComplete(line1, state, city, country, postalCode) && - postalCode.isValid->Belt.Option.getWithDefault(false) + postalCode.isValid->Option.getOr(false) let empty = email.value == "" || diff --git a/src/Payments/BacsBankTransfer.res b/src/Payments/BacsBankTransfer.res index 18be19f9..46e11ad0 100644 --- a/src/Payments/BacsBankTransfer.res +++ b/src/Payments/BacsBankTransfer.res @@ -15,8 +15,7 @@ let default = (props: props) => { let (fullName, _) = Recoil.useLoggedRecoilState(userFullName, "fullName", loggerState) let setComplete = Recoil.useSetRecoilState(fieldsComplete) - let complete = - email.value != "" && fullName.value != "" && email.isValid->Belt.Option.getWithDefault(false) + let complete = email.value != "" && fullName.value != "" && email.isValid->Option.getOr(false) let empty = email.value == "" || fullName.value == "" React.useEffect2(() => { diff --git a/src/Payments/BankDebitModal.res b/src/Payments/BankDebitModal.res index 732de622..513b00f2 100644 --- a/src/Payments/BankDebitModal.res +++ b/src/Payments/BankDebitModal.res @@ -155,7 +155,7 @@ let make = (~setModalData) => { ) { setIsRoutingValid(_ => Some(true)) setRoutingError(_ => "") - accountRef.current->Js.Nullable.toOption->Belt.Option.forEach(input => input->focus)->ignore + accountRef.current->Js.Nullable.toOption->Option.forEach(input => input->focus)->ignore } else { resetReoutingError() } diff --git a/src/Payments/BankTransfersPopup.res b/src/Payments/BankTransfersPopup.res index 1fdcad11..24a98c52 100644 --- a/src/Payments/BankTransfersPopup.res +++ b/src/Payments/BankTransfersPopup.res @@ -2,9 +2,9 @@ open Utils let getKeyValue = (json, str) => { json ->Js.Dict.get(str) - ->Belt.Option.getWithDefault(Js.Dict.empty()->Js.Json.object_) + ->Option.getOr(Js.Dict.empty()->Js.Json.object_) ->Js.Json.decodeString - ->Belt.Option.getWithDefault("") + ->Option.getOr("") } @react.component @@ -24,9 +24,18 @@ let make = (~transferType) => { let (openModal, setOpenModal) = React.useState(_ => false) let (buttonElement, text) = React.useMemo1(() => { !isCopied - ? (<> {React.string("Copy")} , "text-[#006DF9]") + ? ( + <> + + {React.string("Copy")} + , + "text-[#006DF9]", + ) : ( - <> {React.string("Copied")} , + <> + + {React.string("Copied")} + , "text-[#c0c0c0] font-medium ", ) }, [isCopied]) @@ -43,14 +52,14 @@ let make = (~transferType) => { let handle = (ev: Window.event) => { let json = ev.data->Js.Json.parseExn let dict = json->Utils.getDictFromJson - if dict->Js.Dict.get("fullScreenIframeMounted")->Belt.Option.isSome { + if dict->Js.Dict.get("fullScreenIframeMounted")->Option.isSome { let metadata = dict->getJsonObjectFromDict("metadata") let dictMetadata = dict ->getJsonObjectFromDict("metadata") ->getDictFromJson ->Js.Dict.get(responseType) - ->Belt.Option.getWithDefault(Js.Dict.empty()->Js.Json.object_) + ->Option.getOr(Js.Dict.empty()->Js.Json.object_) ->getDictFromJson setKeys(_ => dictMetadata->Js.Dict.keys) setJson(_ => dictMetadata) @@ -64,7 +73,9 @@ let make = (~transferType) => {
-
+
+ +
{React.string(`${title} bank transfer`)}
diff --git a/src/Payments/BecsBankDebit.res b/src/Payments/BecsBankDebit.res index 87526901..650338da 100644 --- a/src/Payments/BecsBankDebit.res +++ b/src/Payments/BecsBankDebit.res @@ -24,7 +24,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) let complete = email.value != "" && fullName.value != "" && - email.isValid->Belt.Option.getWithDefault(false) && + email.isValid->Option.getOr(false) && switch modalData { | Some(data: ACHTypes.data) => Js.log2( diff --git a/src/Payments/CardPayment.res b/src/Payments/CardPayment.res index b8858a4a..986cc3a7 100644 --- a/src/Payments/CardPayment.res +++ b/src/Payments/CardPayment.res @@ -115,7 +115,7 @@ let make = ( React.useEffect1(() => { let tokenobj = savedMethods->Js.Array2.length > 0 - ? Some(savedMethods->Belt.Array.get(0)->Belt.Option.getWithDefault(defaultCustomerMethods)) + ? Some(savedMethods->Belt.Array.get(0)->Option.getOr(defaultCustomerMethods)) : None switch tokenobj { @@ -187,9 +187,9 @@ let make = ( if confirm.doSubmit { let validFormat = (isBancontact || - (isCVCValid->Belt.Option.getWithDefault(false) && - isCardValid->Belt.Option.getWithDefault(false) && - isExpiryValid->Belt.Option.getWithDefault(false))) && areRequiredFieldsValid + (isCVCValid->Option.getOr(false) && + isCardValid->Option.getOr(false) && + isExpiryValid->Option.getOr(false))) && areRequiredFieldsValid if validFormat && (showFields || isBancontact) { intent( ~bodyArr={ diff --git a/src/Payments/GPay.res b/src/Payments/GPay.res index 661f7ff8..8465b107 100644 --- a/src/Payments/GPay.res +++ b/src/Payments/GPay.res @@ -25,10 +25,10 @@ let make = ( let areRequiredFieldsEmpty = Recoil.useRecoilValueFromAtom(RecoilAtoms.areRequiredFieldsEmpty) let status = CommonHooks.useScript("https://pay.google.com/gp/p/js/pay.js") let isGooglePaySDKFlow = React.useMemo1(() => { - sessionObj->Belt.Option.isSome + sessionObj->Option.isSome }, [sessionObj]) let isGooglePayThirdPartyFlow = React.useMemo1(() => { - thirdPartySessionObj->Belt.Option.isSome + thirdPartySessionObj->Option.isSome }, [sessionObj]) let areOneClickWalletsRendered = Recoil.useSetRecoilState(RecoilAtoms.areOneClickWalletsRendered) @@ -58,10 +58,10 @@ let make = ( let isDelayedSessionToken = React.useMemo1(() => { thirdPartySessionObj - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.flatMap(x => x->Js.Dict.get("delayed_session_token")) - ->Belt.Option.flatMap(Js.Json.decodeBoolean) - ->Belt.Option.getWithDefault(false) + ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(x => x->Js.Dict.get("delayed_session_token")) + ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.getOr(false) }, [thirdPartySessionObj]) let processPayment = (body: array<(string, Js.Json.t)>) => { @@ -84,7 +84,7 @@ let make = ( | _ => Js.Dict.empty()->Js.Json.object_ } let dict = json->Utils.getDictFromJson - if dict->Js.Dict.get("gpayResponse")->Belt.Option.isSome { + if dict->Js.Dict.get("gpayResponse")->Option.isSome { let metadata = dict->getJsonObjectFromDict("gpayResponse") let obj = metadata->getDictFromJson->itemToObjMapper let body = { @@ -97,7 +97,7 @@ let make = ( } processPayment(body) } - if dict->Js.Dict.get("gpayError")->Belt.Option.isSome { + if dict->Js.Dict.get("gpayError")->Option.isSome { Utils.handlePostMessage([("fullscreen", false->Js.Json.boolean)]) if !isWallet { postFailedSubmitResponse(~errortype="server_error", ~message="Something went wrong") @@ -139,7 +139,7 @@ let make = ( ) open Promise OrcaUtils.makeOneClickHandlerPromise(sdkHandleOneClickConfirmPayment)->then(result => { - let result = result->Js.Json.decodeBoolean->Belt.Option.getWithDefault(false) + let result = result->Js.Json.decodeBoolean->Option.getOr(false) if result { if isInvokeSDKFlow { if isDelayedSessionToken { @@ -211,7 +211,7 @@ let make = ( } let dict = json->Utils.getDictFromJson try { - if dict->Js.Dict.get("googlePaySyncPayment")->Belt.Option.isSome { + if dict->Js.Dict.get("googlePaySyncPayment")->Option.isSome { syncPayment() } } catch { diff --git a/src/Payments/KlarnaPayment.res b/src/Payments/KlarnaPayment.res index 62cba3d4..66d1fa48 100644 --- a/src/Payments/KlarnaPayment.res +++ b/src/Payments/KlarnaPayment.res @@ -26,10 +26,9 @@ let make = (~paymentType, ~countryProps, ~list: PaymentMethodsRecord.list) => { let clientCountryCode = Country.country ->Js.Array2.find(item => item.countryName == country) - ->Belt.Option.getWithDefault(Country.defaultTimeZone) + ->Option.getOr(Country.defaultTimeZone) - let complete = - email.value != "" && fullName.value != "" && email.isValid->Belt.Option.getWithDefault(false) + let complete = email.value != "" && fullName.value != "" && email.isValid->Option.getOr(false) let empty = email.value == "" || fullName.value == "" React.useEffect2(() => { handlePostMessageEvents(~complete, ~empty, ~paymentType="klarna", ~loggerState) diff --git a/src/Payments/PayPal.res b/src/Payments/PayPal.res index 041f7b00..677717b9 100644 --- a/src/Payments/PayPal.res +++ b/src/Payments/PayPal.res @@ -41,7 +41,7 @@ let make = (~list: PaymentMethodsRecord.list) => { open Promise OrcaUtils.makeOneClickHandlerPromise(sdkHandleOneClickConfirmPayment) ->then(result => { - let result = result->Js.Json.decodeBoolean->Belt.Option.getWithDefault(false) + let result = result->Js.Json.decodeBoolean->Option.getOr(false) if result { let (connectors, _) = list->PaymentUtils.getConnectors(Wallets(Paypal(Redirect))) let body = PaymentBody.paypalRedirectionBody(~connectors) diff --git a/src/Payments/PaymentMethodsRecord.res b/src/Payments/PaymentMethodsRecord.res index e2a26faa..65a4d4c7 100644 --- a/src/Payments/PaymentMethodsRecord.res +++ b/src/Payments/PaymentMethodsRecord.res @@ -525,7 +525,7 @@ let getPaymentMethodsFieldTypeFromString = (str, isBancontact) => { let getPaymentMethodsFieldTypeFromDict = dict => { let keysArr = dict->Js.Dict.keys - let key = keysArr->Belt.Array.get(0)->Belt.Option.getWithDefault("") + let key = keysArr->Belt.Array.get(0)->Option.getOr("") switch key { | "user_currency" => { let options = dict->Utils.getArrayValFromJsonDict("user_currency", "options") @@ -533,7 +533,7 @@ let getPaymentMethodsFieldTypeFromDict = dict => { } | "user_address_country" => { let options = dict->Utils.getArrayValFromJsonDict("user_address_country", "options") - switch options->Belt.Array.get(0)->Belt.Option.getWithDefault("") { + switch options->Belt.Array.get(0)->Option.getOr("") { | "" => None | "ALL" => AddressCountry(Country.country->Js.Array2.map(item => item.countryName)) | _ => @@ -552,7 +552,7 @@ let getFieldType = (dict, isBancontact) => { let fieldClass = dict ->Js.Dict.get("field_type") - ->Belt.Option.getWithDefault(Js.Dict.empty()->Js.Json.object_) + ->Option.getOr(Js.Dict.empty()->Js.Json.object_) ->Js.Json.classify switch fieldClass { | JSONFalse @@ -632,7 +632,7 @@ let getPaymentMethodFields = ( ( paymentMethodsFields ->Js.Array2.find(x => x.paymentMethodName === paymentMethod) - ->Belt.Option.getWithDefault({ + ->Option.getOr({ paymentMethodName: "", fields: [], icon: Some(icon("", ~size=19, ~width=25)), @@ -774,8 +774,8 @@ let getPaymentExperienceType = str => { let getPaymentExperience = (dict, str) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeArray) - ->Belt.Option.getWithDefault([]) + ->Option.flatMap(Js.Json.decodeArray) + ->Option.getOr([]) ->Belt.Array.keepMap(Js.Json.decodeObject) ->Js.Array2.map(json => { { @@ -793,14 +793,14 @@ let getSurchargeDetails = dict => { let surchargDetails = dict ->Js.Dict.get("surcharge_details") - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.getWithDefault(Js.Dict.empty()) + ->Option.flatMap(Js.Json.decodeObject) + ->Option.getOr(Js.Dict.empty()) let displayTotalSurchargeAmount = surchargDetails ->Js.Dict.get("display_total_surcharge_amount") - ->Belt.Option.flatMap(Js.Json.decodeNumber) - ->Belt.Option.getWithDefault(0.0) + ->Option.flatMap(Js.Json.decodeNumber) + ->Option.getOr(0.0) if displayTotalSurchargeAmount !== 0.0 { Some({ @@ -814,8 +814,8 @@ let getSurchargeDetails = dict => { let getCardNetworks = (dict, str) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeArray) - ->Belt.Option.getWithDefault([]) + ->Option.flatMap(Js.Json.decodeArray) + ->Option.getOr([]) ->Belt.Array.keepMap(Js.Json.decodeObject) ->Js.Array2.map(json => { { @@ -829,8 +829,8 @@ let getCardNetworks = (dict, str) => { let getBankNames = (dict, str) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeArray) - ->Belt.Option.getWithDefault([]) + ->Option.flatMap(Js.Json.decodeArray) + ->Option.getOr([]) ->Belt.Array.keepMap(Js.Json.decodeObject) ->Js.Array2.map(json => { getStrArray(json, "bank_name") @@ -844,8 +844,8 @@ let getBankNames = (dict, str) => { let getAchConnectors = (dict, str) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.getWithDefault(Js.Dict.empty()) + ->Option.flatMap(Js.Json.decodeObject) + ->Option.getOr(Js.Dict.empty()) ->getStrArray("elligible_connectors") } @@ -869,8 +869,8 @@ let getDynamicFieldsFromJsonDict = (dict, isBancontact) => { let getPaymentMethodTypes = (dict, str) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeArray) - ->Belt.Option.getWithDefault([]) + ->Option.flatMap(Js.Json.decodeArray) + ->Option.getOr([]) ->Belt.Array.keepMap(Js.Json.decodeObject) ->Js.Array2.map(jsonDict => { let paymentMethodType = getString(jsonDict, "payment_method_type", "") @@ -892,8 +892,8 @@ let getPaymentMethodTypes = (dict, str) => { let getMethodsArr = (dict, str) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeArray) - ->Belt.Option.getWithDefault([]) + ->Option.flatMap(Js.Json.decodeArray) + ->Option.getOr([]) ->Belt.Array.keepMap(Js.Json.decodeObject) ->Js.Array2.map(json => { { @@ -906,8 +906,8 @@ let getMethodsArr = (dict, str) => { let getOptionalMandateType = (dict, str) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { { amount: getInt(json, "amount", 0), currency: getString(json, "currency", ""), @@ -918,8 +918,8 @@ let getOptionalMandateType = (dict, str) => { let getMandate = (dict, str) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { { single_use: getOptionalMandateType(json, "single_use"), multi_use: getOptionalMandateType(json, "multi_use"), @@ -980,7 +980,7 @@ let getPaymentMethodTypeFromList = (~list: list, ~paymentMethod, ~paymentMethodT ->Js.Array2.find(item => { item.payment_method == paymentMethod }) - ->Belt.Option.getWithDefault({ + ->Option.getOr({ payment_method: "card", payment_method_types: [], }) @@ -993,7 +993,7 @@ let getCardNetwork = (~paymentMethodType, ~cardBrand) => { paymentMethodType.card_networks ->Js.Array2.filter(cardNetwork => cardNetwork.card_network === cardBrand) ->Belt.Array.get(0) - ->Belt.Option.getWithDefault(defaultCardNetworks) + ->Option.getOr(defaultCardNetworks) } let paymentMethodFieldToStrMapper = (field: paymentMethodsFields) => { diff --git a/src/Payments/PaymentMethodsWrapper.res b/src/Payments/PaymentMethodsWrapper.res index a1e42a52..8d7013ca 100644 --- a/src/Payments/PaymentMethodsWrapper.res +++ b/src/Payments/PaymentMethodsWrapper.res @@ -22,16 +22,14 @@ let make = ( PaymentUtils.getPaymentMethodName(~paymentMethodType=x.methodType, ~paymentMethodName) ) let paymentMethodDetails = - optionPaymentMethodDetails->Belt.Option.getWithDefault( - PaymentMethodsRecord.defaultPaymentMethodContent, - ) + optionPaymentMethodDetails->Option.getOr(PaymentMethodsRecord.defaultPaymentMethodContent) let paymentFlow = paymentMethodDetails.paymentFlow ->Belt.Array.get(0) - ->Belt.Option.flatMap(((flow, _connector)) => { + ->Option.flatMap(((flow, _connector)) => { Some(flow) }) - ->Belt.Option.getWithDefault(RedirectToURL) + ->Option.getOr(RedirectToURL) let (fullName, _) = Recoil.useLoggedRecoilState(userFullName, "fullName", loggerState) let (email, _) = Recoil.useLoggedRecoilState(userEmailAddress, "email", loggerState) let (currency, _) = Recoil.useLoggedRecoilState(userCurrency, "currency", loggerState) @@ -73,13 +71,13 @@ let make = ( Country.getCountry(paymentMethodName) ->Js.Array2.filter(item => item.countryName == country) ->Belt.Array.get(0) - ->Belt.Option.getWithDefault(Country.defaultTimeZone) + ->Option.getOr(Country.defaultTimeZone) let bank = Bank.getBanks(paymentMethodName) ->Js.Array2.filter(item => item.displayName == selectedBank) ->Belt.Array.get(0) - ->Belt.Option.getWithDefault(Bank.defaultBank) + ->Option.getOr(Bank.defaultBank) intent( ~bodyArr=PaymentBody.getPaymentBody( ~paymentMethod=paymentMethodName, diff --git a/src/Payments/PaypalSDK.res b/src/Payments/PaypalSDK.res index 727aab4a..cbc56f7a 100644 --- a/src/Payments/PaypalSDK.res +++ b/src/Payments/PaypalSDK.res @@ -47,7 +47,7 @@ let make = (~sessionObj: SessionsType.token, ~list: PaymentMethodsRecord.list) = open Promise OrcaUtils.makeOneClickHandlerPromise(sdkHandleOneClickConfirmPayment) ->then(result => { - let result = result->Js.Json.decodeBoolean->Belt.Option.getWithDefault(false) + let result = result->Js.Json.decodeBoolean->Option.getOr(false) if result { braintree.client.create(.{authorization: token}, (clientErr, clientInstance) => { if clientErr { diff --git a/src/Payments/PreMountLoader.res b/src/Payments/PreMountLoader.res index cf9c7eec..3c5c0525 100644 --- a/src/Payments/PreMountLoader.res +++ b/src/Payments/PreMountLoader.res @@ -62,11 +62,11 @@ let make = (~sessionId as _, ~publishableKey as _, ~clientSecret as _, ~endpoint // // | _ => Js.Json.null // // } // // let dict = json->Utils.getDictFromJson - // // if dict->Js.Dict.get("sendPaymentMethodsResponse")->Belt.Option.isSome { + // // if dict->Js.Dict.get("sendPaymentMethodsResponse")->Option.isSome { // // paymentMethodsResponse->sendPromiseData("payment_methods") - // // } else if dict->Js.Dict.get("sendCustomerPaymentMethodsResponse")->Belt.Option.isSome { + // // } else if dict->Js.Dict.get("sendCustomerPaymentMethodsResponse")->Option.isSome { // // customerPaymentMethodsResponse->sendPromiseData("customer_payment_methods") - // // } else if dict->Js.Dict.get("sendSessionTokensResponse")->Belt.Option.isSome { + // // } else if dict->Js.Dict.get("sendSessionTokensResponse")->Option.isSome { // // sessionTokensResponse->sendPromiseData("session_tokens") // // } // // } diff --git a/src/Payments/QRCodeDisplay.res b/src/Payments/QRCodeDisplay.res index bee54fac..46246a45 100644 --- a/src/Payments/QRCodeDisplay.res +++ b/src/Payments/QRCodeDisplay.res @@ -2,9 +2,9 @@ open Utils let getKeyValue = (json, str) => { json ->Js.Dict.get(str) - ->Belt.Option.getWithDefault(Js.Dict.empty()->Js.Json.object_) + ->Option.getOr(Js.Dict.empty()->Js.Json.object_) ->Js.Json.decodeString - ->Belt.Option.getWithDefault("") + ->Option.getOr("") } @react.component @@ -23,10 +23,9 @@ let make = () => { let handle = (ev: Window.event) => { let json = ev.data->Js.Json.parseExn let dict = json->Utils.getDictFromJson - if dict->Js.Dict.get("fullScreenIframeMounted")->Belt.Option.isSome { + if dict->Js.Dict.get("fullScreenIframeMounted")->Option.isSome { let metadata = dict->getJsonObjectFromDict("metadata") - let metaDataDict = - metadata->Js.Json.decodeObject->Belt.Option.getWithDefault(Js.Dict.empty()) + let metaDataDict = metadata->Js.Json.decodeObject->Option.getOr(Js.Dict.empty()) let qrData = metaDataDict->getString("qrData", "") setQrCode(_ => qrData) let paymentIntentId = metaDataDict->getString("paymentIntentId", "") @@ -35,20 +34,17 @@ let make = () => { metaDataDict ->getJsonObjectFromDict("headers") ->Js.Json.decodeObject - ->Belt.Option.getWithDefault(Js.Dict.empty()) + ->Option.getOr(Js.Dict.empty()) let headers = Js.Dict.empty() setReturnUrl(_ => metadata->getDictFromJson->getString("url", "")) headersDict ->Js.Dict.entries ->Js.Array2.forEach(entries => { let (x, val) = entries - Js.Dict.set(headers, x, val->Js.Json.decodeString->Belt.Option.getWithDefault("")) + Js.Dict.set(headers, x, val->Js.Json.decodeString->Option.getOr("")) }) let expiryTime = - metaDataDict - ->getString("expiryTime", "") - ->Belt.Float.fromString - ->Belt.Option.getWithDefault(0.0) + metaDataDict->getString("expiryTime", "")->Belt.Float.fromString->Option.getOr(0.0) let timeExpiry = expiryTime -. Js.Date.now() if timeExpiry > 0.0 && timeExpiry < 900000.0 { setExpiryTime(_ => timeExpiry) @@ -95,7 +91,7 @@ let make = () => { ~switchToCustomPod, ) ->then(json => { - let dict = json->Js.Json.decodeObject->Belt.Option.getWithDefault(Js.Dict.empty()) + let dict = json->Js.Json.decodeObject->Option.getOr(Js.Dict.empty()) let status = dict->getString("status", "") if status === "succeeded" { diff --git a/src/Payments/SepaBankDebit.res b/src/Payments/SepaBankDebit.res index 79f020fb..e43acdad 100644 --- a/src/Payments/SepaBankDebit.res +++ b/src/Payments/SepaBankDebit.res @@ -24,7 +24,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) let complete = email.value != "" && fullName.value != "" && - email.isValid->Belt.Option.getWithDefault(false) && + email.isValid->Option.getOr(false) && switch modalData { | Some(val: ACHTypes.data) => val.iban !== "" || val.accountHolderName !== "" | None => false diff --git a/src/Payments/SepaBankTransfer.res b/src/Payments/SepaBankTransfer.res index 489cb27d..c4868e92 100644 --- a/src/Payments/SepaBankTransfer.res +++ b/src/Payments/SepaBankTransfer.res @@ -24,9 +24,8 @@ let make = ( let clientCountryCode = Country.country ->Js.Array2.find(item => item.countryName == country) - ->Belt.Option.getWithDefault(Country.defaultTimeZone) - let complete = - email.value != "" && fullName.value != "" && email.isValid->Belt.Option.getWithDefault(false) + ->Option.getOr(Country.defaultTimeZone) + let complete = email.value != "" && fullName.value != "" && email.isValid->Option.getOr(false) let empty = email.value == "" || fullName.value == "" React.useEffect2(() => { diff --git a/src/Payments/VoucherDisplay.res b/src/Payments/VoucherDisplay.res index 2a3d6b43..c1e8f876 100644 --- a/src/Payments/VoucherDisplay.res +++ b/src/Payments/VoucherDisplay.res @@ -25,10 +25,9 @@ let make = () => { let handle = (ev: Window.event) => { let json = ev.data->Js.Json.parseExn let dict = json->Utils.getDictFromJson - if dict->Js.Dict.get("fullScreenIframeMounted")->Belt.Option.isSome { + if dict->Js.Dict.get("fullScreenIframeMounted")->Option.isSome { let metadata = dict->getJsonObjectFromDict("metadata") - let metaDataDict = - metadata->Js.Json.decodeObject->Belt.Option.getWithDefault(Js.Dict.empty()) + let metaDataDict = metadata->Js.Json.decodeObject->Option.getOr(Js.Dict.empty()) setReturnUrl(_ => metaDataDict->getString("returnUrl", "")) setDownloadUrl(_ => metaDataDict->getString("voucherUrl", "")) setReference(_ => metaDataDict->getString("reference", "")) diff --git a/src/Types/ConfirmType.res b/src/Types/ConfirmType.res index 6b53f786..0b92c461 100644 --- a/src/Types/ConfirmType.res +++ b/src/Types/ConfirmType.res @@ -16,14 +16,14 @@ let defaultConfirm = { let getConfirmParams = (dict, str) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { { return_url: getString(json, "return_url", ""), publishableKey: getString(json, "publishableKey", ""), } }) - ->Belt.Option.getWithDefault(defaultConfirm) + ->Option.getOr(defaultConfirm) } let itemToObjMapper = dict => { diff --git a/src/Types/ElementType.res b/src/Types/ElementType.res index cd9f84c5..718aad97 100644 --- a/src/Types/ElementType.res +++ b/src/Types/ElementType.res @@ -125,8 +125,8 @@ let defaultOptions = { let getClasses = (str, dict, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { { base: getWarningString(json, "base", "OrcaElement", ~logger), complete: getWarningString(json, "complete", "OrcaElement--complete", ~logger), @@ -141,14 +141,14 @@ let getClasses = (str, dict, logger) => { ), } }) - ->Belt.Option.getWithDefault(defaultClasses) + ->Option.getOr(defaultClasses) } let rec getStyleObj = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { { backgroundColor: getWarningString(json, "backgroundColor", "", ~logger), color: getWarningString(json, "color", "", ~logger), @@ -175,7 +175,7 @@ let rec getStyleObj = (dict, str, logger) => { msClear: Some(getStyleObj(json, "::-ms-clear", logger)), } }) - ->Belt.Option.getWithDefault(defaultStyleClass) + ->Option.getOr(defaultStyleClass) } let getTheme = (str, key, logger) => { switch str { @@ -191,8 +191,8 @@ let getTheme = (str, key, logger) => { let getPaymentRequestButton = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { { type_: getWarningString(json, "type", "", ~logger), theme: getWarningString(json, "theme", "dark", ~logger)->getTheme( @@ -202,14 +202,14 @@ let getPaymentRequestButton = (dict, str, logger) => { height: getWarningString(json, "height", "", ~logger), } }) - ->Belt.Option.getWithDefault(defaultPaymentRequestButton) + ->Option.getOr(defaultPaymentRequestButton) } let getStyle = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { { base: getJsonObjectFromDict(json, "base"), complete: getJsonObjectFromDict(json, "complete"), @@ -218,7 +218,7 @@ let getStyle = (dict, str, logger) => { paymentRequestButton: getPaymentRequestButton(json, "paymentRequestButton", logger), } }) - ->Belt.Option.getWithDefault(defaultStyle) + ->Option.getOr(defaultStyle) } let itemToObjMapper = (dict, logger) => { unknownKeysWarning( diff --git a/src/Types/GooglePayType.res b/src/Types/GooglePayType.res index 6620ef8f..0be3e14a 100644 --- a/src/Types/GooglePayType.res +++ b/src/Types/GooglePayType.res @@ -79,19 +79,19 @@ let defaultPaymentMethodData = { let getTokenizationData = (str, dict) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { { token: getString(json, "token", ""), } }) - ->Belt.Option.getWithDefault(defaultTokenizationData) + ->Option.getOr(defaultTokenizationData) } let getPaymentMethodData = (str, dict) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { { description: getString(json, "description", ""), tokenizationData: getJsonFromDict(json, "tokenizationData", Js.Dict.empty()->Js.Json.object_), @@ -99,7 +99,7 @@ let getPaymentMethodData = (str, dict) => { \"type": getString(json, "type", ""), } }) - ->Belt.Option.getWithDefault(defaultPaymentMethodData) + ->Option.getOr(defaultPaymentMethodData) } let itemToObjMapper = dict => { { diff --git a/src/Types/PaymentConfirmTypes.res b/src/Types/PaymentConfirmTypes.res index e1c7831e..7506cc46 100644 --- a/src/Types/PaymentConfirmTypes.res +++ b/src/Types/PaymentConfirmTypes.res @@ -79,8 +79,8 @@ let defaultIntent = { let getAchCreditTransfer = (dict, str) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { { account_number: getString(json, "account_number", ""), bank_name: getString(json, "bank_name", ""), @@ -88,26 +88,26 @@ let getAchCreditTransfer = (dict, str) => { swift_code: getString(json, "swift_code", ""), } }) - ->Belt.Option.getWithDefault(defaultACHCreditTransfer) + ->Option.getOr(defaultACHCreditTransfer) } let getBacsBankInstructions = (dict, str) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { { account_holder_name: getString(json, "account_holder_name", ""), account_number: getString(json, "account_number", ""), sort_code: getString(json, "sort_code", ""), } }) - ->Belt.Option.getWithDefault(defaultBacsBankInstruction) + ->Option.getOr(defaultBacsBankInstruction) } let getBankTransferDetails = (dict, str) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { { ach_credit_transfer: getAchCreditTransfer(json, "ach_credit_transfer"), } @@ -124,8 +124,8 @@ let getVoucherDetails = json => { let getNextAction = (dict, str) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { { redirectToUrl: getString(json, "redirect_to_url", ""), type_: getString(json, "type", ""), @@ -143,18 +143,18 @@ let getNextAction = (dict, str) => { display_to_timestamp: Some( json ->Js.Dict.get("display_to_timestamp") - ->Belt.Option.flatMap(Js.Json.decodeNumber) - ->Belt.Option.getWithDefault(0.0), + ->Option.flatMap(Js.Json.decodeNumber) + ->Option.getOr(0.0), ), voucher_details: { json ->Js.Dict.get("voucher_details") - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => json->getVoucherDetails) + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => json->getVoucherDetails) }, } }) - ->Belt.Option.getWithDefault(defaultNextAction) + ->Option.getOr(defaultNextAction) } let itemToObjMapper = dict => { { diff --git a/src/Types/PaymentError.res b/src/Types/PaymentError.res index b8fab79f..ff67bb04 100644 --- a/src/Types/PaymentError.res +++ b/src/Types/PaymentError.res @@ -13,15 +13,15 @@ let defaultError = { let getError = (dict, str) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { { type_: getString(json, "type", ""), code: getString(json, "code", ""), message: getString(json, "message", ""), } }) - ->Belt.Option.getWithDefault(defaultError) + ->Option.getOr(defaultError) } let itemToObjMapper = dict => { {error: getError(dict, "error")} diff --git a/src/Types/PaymentType.res b/src/Types/PaymentType.res index cfc706cd..e0e94d4c 100644 --- a/src/Types/PaymentType.res +++ b/src/Types/PaymentType.res @@ -275,8 +275,8 @@ let getLayout = (str, logger) => { let getAddress = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { let countryNames = [] Country.country->Js.Array2.map(item => countryNames->Js.Array2.push(item.countryName))->ignore unknownKeysWarning( @@ -303,13 +303,13 @@ let getAddress = (dict, str, logger) => { postal_code: getWarningString(json, "postal_code", "", ~logger), } }) - ->Belt.Option.getWithDefault(defaultAddress) + ->Option.getOr(defaultAddress) } let getBillingDetails = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { unknownKeysWarning( ["name", "email", "phone", "address"], json, @@ -323,33 +323,33 @@ let getBillingDetails = (dict, str, logger) => { address: getAddress(json, "address", logger), } }) - ->Belt.Option.getWithDefault(defaultBillingDetails) + ->Option.getOr(defaultBillingDetails) } let getDefaultValues = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { unknownKeysWarning(["billingDetails"], json, "options.defaultValues", ~logger) let defaultValues: defaultValues = { billingDetails: getBillingDetails(json, "billingDetails", logger), } defaultValues }) - ->Belt.Option.getWithDefault(defaultDefaultValues) + ->Option.getOr(defaultDefaultValues) } let getBusiness = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { unknownKeysWarning(["name"], json, "options.business", ~logger) { name: getWarningString(json, "name", "", ~logger), } }) - ->Belt.Option.getWithDefault(defaultBusiness) + ->Option.getOr(defaultBusiness) } let getShowType = (str, key, logger) => { switch str { @@ -489,8 +489,8 @@ let getShowTerms: (string, string, 'a) => showTerms = (str, key, logger) => { let getShowAddress = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { let x: showAddress = { line1: getWarningString(json, "line1", "auto", ~logger)->getShowType( "options.fields.address.line1", @@ -519,7 +519,7 @@ let getShowAddress = (dict, str, logger) => { } x }) - ->Belt.Option.getWithDefault(defaultshowAddress) + ->Option.getOr(defaultshowAddress) } let getDeatils = (val, logger) => { switch val->Js.Json.classify { @@ -546,20 +546,20 @@ let getDeatils = (val, logger) => { let getBilling = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.map(json => json->getDeatils(logger)) - ->Belt.Option.getWithDefault(defaultFields.billingDetails) + ->Option.map(json => json->getDeatils(logger)) + ->Option.getOr(defaultFields.billingDetails) } let getFields: (Js.Dict.t, string, 'a) => fields = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { let defaultFields: fields = { billingDetails: getBilling(json, "billingDetails", logger), } defaultFields }) - ->Belt.Option.getWithDefault(defaultFields) + ->Option.getOr(defaultFields) } let getLayoutValues = (val, logger) => { switch val->Js.Json.classify { @@ -587,8 +587,8 @@ let getLayoutValues = (val, logger) => { let getTerms = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { unknownKeysWarning( ["auBecsDebit", "bancontact", "card", "ideal", "sepaDebit", "sofort", "usBankAccount"], json, @@ -626,7 +626,7 @@ let getTerms = (dict, str, logger) => { ), } }) - ->Belt.Option.getWithDefault(defaultTerms) + ->Option.getOr(defaultTerms) } let getApplePayHeight = (val, logger) => { let val: heightType = @@ -699,8 +699,8 @@ let getHeightArray = (val, logger) => { let getStyle = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { unknownKeysWarning(["type", "theme", "height"], json, "options.wallets.style", ~logger) let style = { type_: getWarningString(json, "type", "", ~logger)->getTypeArray(logger), @@ -709,13 +709,13 @@ let getStyle = (dict, str, logger) => { } style }) - ->Belt.Option.getWithDefault(defaultStyle) + ->Option.getOr(defaultStyle) } let getWallets = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { unknownKeysWarning( ["applePay", "googlePay", "style", "walletReturnUrl"], json, @@ -736,23 +736,23 @@ let getWallets = (dict, str, logger) => { style: getStyle(json, "style", logger), } }) - ->Belt.Option.getWithDefault(defaultWallets) + ->Option.getOr(defaultWallets) } let getLayout = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.map(json => { + ->Option.map(json => { json->getLayoutValues(logger) }) - ->Belt.Option.getWithDefault(ObjectLayout(defaultLayout)) + ->Option.getOr(ObjectLayout(defaultLayout)) } let getCardDetails = (dict, str) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { { scheme: Some(getString(json, "scheme", "")), last4Digits: getString(json, "last4_digits", ""), @@ -762,27 +762,27 @@ let getCardDetails = (dict, str) => { cardHolderName: Some(getString(json, "card_holder_name", "")), } }) - ->Belt.Option.getWithDefault(defaultCardDetails) + ->Option.getOr(defaultCardDetails) } let createCustomerObjArr = dict => { let customerDict = dict ->Js.Dict.get("customerPaymentMethods") - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.getWithDefault(Js.Dict.empty()) + ->Option.flatMap(Js.Json.decodeObject) + ->Option.getOr(Js.Dict.empty()) let customerArr = customerDict ->Js.Dict.get("customer_payment_methods") - ->Belt.Option.flatMap(Js.Json.decodeArray) - ->Belt.Option.getWithDefault([]) + ->Option.flatMap(Js.Json.decodeArray) + ->Option.getOr([]) let isGuestCustomer = customerDict ->Js.Dict.get("is_guest_customer") - ->Belt.Option.flatMap(Js.Json.decodeBoolean) - ->Belt.Option.getWithDefault(false) + ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.getOr(false) let customerPaymentMethods = customerArr @@ -800,8 +800,7 @@ let createCustomerObjArr = dict => { } let getCustomerMethods = (dict, str) => { - let customerArr = - dict->Js.Dict.get(str)->Belt.Option.flatMap(Js.Json.decodeArray)->Belt.Option.getWithDefault([]) + let customerArr = dict->Js.Dict.get(str)->Option.flatMap(Js.Json.decodeArray)->Option.getOr([]) if customerArr->Js.Array2.length !== 0 { let customerPaymentMethods = @@ -825,8 +824,8 @@ let getCustomerMethods = (dict, str) => { let getCustomMethodNames = (dict, str) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeArray) - ->Belt.Option.getWithDefault([]) + ->Option.flatMap(Js.Json.decodeArray) + ->Option.getOr([]) ->Belt.Array.keepMap(Js.Json.decodeObject) ->Js.Array2.map(json => { paymentMethodName: getString(json, "paymentMethodName", ""), @@ -837,8 +836,8 @@ let getCustomMethodNames = (dict, str) => { let getBillingAddress = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.map(json => { + ->Option.flatMap(Js.Json.decodeObject) + ->Option.map(json => { unknownKeysWarning( ["isUseBillingAddress", "usePrefilledValues"], json, @@ -856,7 +855,7 @@ let getBillingAddress = (dict, str, logger) => { )->getShowType("options.billingAddress.usePrefilledValues", logger), } }) - ->Belt.Option.getWithDefault(defaultBillingAddress) + ->Option.getOr(defaultBillingAddress) } let itemToObjMapper = (dict, logger) => { diff --git a/src/Types/PostalCodeType.res b/src/Types/PostalCodeType.res index f4226d04..90ab3d25 100644 --- a/src/Types/PostalCodeType.res +++ b/src/Types/PostalCodeType.res @@ -10,7 +10,6 @@ let defaultPostalCode = { } type themeDataModule = {default: array} -open Promise @val -external importPostalCode: string => t = "import" +external importPostalCode: string => Promise.t = "import" diff --git a/src/Types/SessionsType.res b/src/Types/SessionsType.res index 858307e4..8453f7c6 100644 --- a/src/Types/SessionsType.res +++ b/src/Types/SessionsType.res @@ -48,8 +48,8 @@ open Utils let getSessionsToken = (dict, str) => { dict ->Js.Dict.get(str) - ->Belt.Option.flatMap(Js.Json.decodeArray) - ->Belt.Option.map(arr => { + ->Option.flatMap(Js.Json.decodeArray) + ->Option.map(arr => { arr->Js.Array2.map(json => { let dict = json->getDictFromJson { @@ -62,10 +62,10 @@ let getSessionsToken = (dict, str) => { } }) }) - ->Belt.Option.getWithDefault([defaultToken]) + ->Option.getOr([defaultToken]) } let getSessionsTokenJson = (dict, str) => { - dict->Js.Dict.get(str)->Belt.Option.flatMap(Js.Json.decodeArray)->Belt.Option.getWithDefault([]) + dict->Js.Dict.get(str)->Option.flatMap(Js.Json.decodeArray)->Option.getOr([]) } let itemToObjMapper = (dict, returnType) => { @@ -94,11 +94,11 @@ let getWalletFromTokenType = (arr, val: wallet) => { let x = arr->Js.Array2.find(item => item ->Js.Json.decodeObject - ->Belt.Option.flatMap(x => { + ->Option.flatMap(x => { x->Js.Dict.get("wallet_name") }) - ->Belt.Option.flatMap(Js.Json.decodeString) - ->Belt.Option.getWithDefault("") + ->Option.flatMap(Js.Json.decodeString) + ->Option.getOr("") ->getWallet === val ) x diff --git a/src/Utilities/DynamicFieldsUtils.res b/src/Utilities/DynamicFieldsUtils.res index d6a680df..5996cb88 100644 --- a/src/Utilities/DynamicFieldsUtils.res +++ b/src/Utilities/DynamicFieldsUtils.res @@ -3,8 +3,8 @@ let getName = (item: PaymentMethodsRecord.required_fields, field: RecoilAtomType let requiredFieldsArr = item.required_field->Js.String2.split(".") switch requiredFieldsArr ->Belt.Array.get(requiredFieldsArr->Belt.Array.length - 1) - ->Belt.Option.getWithDefault("") { - | "first_name" => fieldNameArr->Belt.Array.get(0)->Belt.Option.getWithDefault(field.value) + ->Option.getOr("") { + | "first_name" => fieldNameArr->Belt.Array.get(0)->Option.getOr(field.value) | "last_name" => fieldNameArr->Belt.Array.sliceToEnd(1)->Js.Array2.reduce((acc, item) => { acc ++ item }, "") @@ -85,9 +85,9 @@ let checkIfNameIsValid = ( let requiredFieldsArr = item.required_field->Js.String2.split(".") let fieldValue = switch requiredFieldsArr ->Belt.Array.get(requiredFieldsArr->Belt.Array.length - 1) - ->Belt.Option.getWithDefault("") { - | "first_name" => fieldNameArr->Belt.Array.get(0)->Belt.Option.getWithDefault("") - | "last_name" => fieldNameArr->Belt.Array.get(1)->Belt.Option.getWithDefault("") + ->Option.getOr("") { + | "first_name" => fieldNameArr->Belt.Array.get(0)->Option.getOr("") + | "last_name" => fieldNameArr->Belt.Array.get(1)->Option.getOr("") | _ => field.value } acc && fieldValue !== "" @@ -129,7 +129,7 @@ let useRequiredFieldsEmptyAndValid = ( let areRequiredFieldsValid = fieldsArr->Js.Array2.reduce((acc, paymentMethodFields) => { acc && switch paymentMethodFields { - | Email => email.isValid->Belt.Option.getWithDefault(false) + | Email => email.isValid->Option.getOr(false) | FullName => checkIfNameIsValid(requiredFields, paymentMethodFields, fullName) | Country => country !== "" || countryNames->Belt.Array.length === 0 | AddressCountry(countryArr) => country !== "" || countryArr->Belt.Array.length === 0 @@ -141,22 +141,20 @@ let useRequiredFieldsEmptyAndValid = ( | StateAndCity => state.value !== "" && city.value !== "" | CountryAndPincode(countryArr) => (country !== "" || countryArr->Belt.Array.length === 0) && - postalCode.isValid->Belt.Option.getWithDefault(false) + postalCode.isValid->Option.getOr(false) | AddressCity => city.value !== "" - | AddressPincode => postalCode.isValid->Belt.Option.getWithDefault(false) + | AddressPincode => postalCode.isValid->Option.getOr(false) | AddressState => state.value !== "" | BlikCode => blikCode.value !== "" | Currency(currencyArr) => currency !== "" || currencyArr->Belt.Array.length === 0 - | CardNumber => isCardValid->Belt.Option.getWithDefault(false) + | CardNumber => isCardValid->Option.getOr(false) | CardExpiryMonth | CardExpiryYear | CardExpiryMonthAndYear => - isExpiryValid->Belt.Option.getWithDefault(false) - | CardCvc => isCVCValid->Belt.Option.getWithDefault(false) - | CardExpiryAndCvc => - isExpiryValid->Belt.Option.getWithDefault(false) && - isCVCValid->Belt.Option.getWithDefault(false) + isExpiryValid->Option.getOr(false) + | CardCvc => isCVCValid->Option.getOr(false) + | CardExpiryAndCvc => isExpiryValid->Option.getOr(false) && isCVCValid->Option.getOr(false) | _ => true } }, true) @@ -283,7 +281,7 @@ let useSetInitialRequiredFields = ( let requiredFieldsArr = item.required_field->Js.String2.split(".") switch requiredFieldsArr ->Belt.Array.get(requiredFieldsArr->Belt.Array.length - 1) - ->Belt.Option.getWithDefault("") { + ->Option.getOr("") { | "first_name" => item.value->Js.String2.concat(acc) | "last_name" => acc->Js.String2.concatMany([" ", item.value]) | _ => acc @@ -340,7 +338,7 @@ let useSetInitialRequiredFields = ( Country.getCountry(paymentMethodType) ->Js.Array2.filter(item => item.isoAlpha2 === value) ->Belt.Array.get(0) - ->Belt.Option.getWithDefault(Country.defaultTimeZone) + ->Option.getOr(Country.defaultTimeZone) setCountry(. _ => countryCode.countryName) } } @@ -357,7 +355,7 @@ let useSetInitialRequiredFields = ( Country.getCountry(paymentMethodType) ->Js.Array2.filter(item => item.isoAlpha2 === value) ->Belt.Array.get(0) - ->Belt.Option.getWithDefault(Country.defaultTimeZone) + ->Option.getOr(Country.defaultTimeZone) setCountry(. _ => defaultCountry.countryName) } | Currency(_) => @@ -426,7 +424,7 @@ let useRequiredFieldsBody = ( Country.getCountry(paymentMethodType) ->Js.Array2.filter(item => item.countryName === country) ->Belt.Array.get(0) - ->Belt.Option.getWithDefault(Country.defaultTimeZone) + ->Option.getOr(Country.defaultTimeZone) countryCode.isoAlpha2 } | BillingName => billingName.value @@ -457,11 +455,11 @@ let useRequiredFieldsBody = ( let arr = value->Js.String2.split(" ") acc->Js.Dict.set( "billing.address.first_name", - arr->Belt.Array.get(0)->Belt.Option.getWithDefault("")->Js.Json.string, + arr->Belt.Array.get(0)->Option.getOr("")->Js.Json.string, ) acc->Js.Dict.set( "billing.address.last_name", - arr->Belt.Array.get(1)->Belt.Option.getWithDefault("")->Js.Json.string, + arr->Belt.Array.get(1)->Option.getOr("")->Js.Json.string, ) } else { let path = item->getBillingAddressPathFromFieldType diff --git a/src/Utilities/PaymentBody.res b/src/Utilities/PaymentBody.res index b7a7b70e..422555f5 100644 --- a/src/Utilities/PaymentBody.res +++ b/src/Utilities/PaymentBody.res @@ -502,11 +502,11 @@ let gPayThirdPartySdkBody = (~connectors) => { } let applePayBody = (~token, ~connectors) => { - let dict = token->Js.Json.decodeObject->Belt.Option.getWithDefault(Js.Dict.empty()) + let dict = token->Js.Json.decodeObject->Option.getOr(Js.Dict.empty()) let paymentDataString = dict ->Js.Dict.get("paymentData") - ->Belt.Option.getWithDefault(Js.Dict.empty()->Js.Json.object_) + ->Option.getOr(Js.Dict.empty()->Js.Json.object_) ->Js.Json.stringify ->btoa dict->Js.Dict.set("paymentData", paymentDataString->Js.Json.string) diff --git a/src/Utilities/PaymentHelpers.res b/src/Utilities/PaymentHelpers.res index b99cc78f..b65b96a1 100644 --- a/src/Utilities/PaymentHelpers.res +++ b/src/Utilities/PaymentHelpers.res @@ -76,7 +76,7 @@ let rec pollRetrievePaymentIntent = (clientSecret, headers, ~optLogger, ~switchT open Promise retrievePaymentIntent(clientSecret, headers, ~optLogger, ~switchToCustomPod) ->then(json => { - let dict = json->Js.Json.decodeObject->Belt.Option.getWithDefault(Js.Dict.empty()) + let dict = json->Js.Json.decodeObject->Option.getOr(Js.Dict.empty()) let status = dict->getString("status", "") if status === "succeeded" || status === "failed" { @@ -206,9 +206,7 @@ let rec intentCall = ( } } else { let paymentIntentID = - Js.String2.split(clientSecret, "_secret_") - ->Belt.Array.get(0) - ->Belt.Option.getWithDefault("") + Js.String2.split(clientSecret, "_secret_")->Belt.Array.get(0)->Option.getOr("") let endpoint = ApiEndpoint.getApiEndPoint(~publishableKey=confirmParam.publishableKey, ()) let retrieveUri = `${endpoint}/payments/${paymentIntentID}?client_secret=${clientSecret}` intentCall( @@ -280,8 +278,8 @@ let rec intentCall = ( ("metadata", dict->Js.Json.object_), ]) } else if intent.nextAction.type_ === "qr_code_information" { - let qrData = intent.nextAction.image_data_url->Belt.Option.getWithDefault("") - let expiryTime = intent.nextAction.display_to_timestamp->Belt.Option.getWithDefault(0.0) + let qrData = intent.nextAction.image_data_url->Option.getOr("") + let expiryTime = intent.nextAction.display_to_timestamp->Option.getOr(0.0) let headerObj = Js.Dict.empty() headers->Js.Array2.forEach( entries => { @@ -312,7 +310,7 @@ let rec intentCall = ( ("metadata", metaData->Js.Json.object_), ]) } else if intent.nextAction.type_ === "display_voucher_information" { - let voucherData = intent.nextAction.voucher_details->Belt.Option.getWithDefault({ + let voucherData = intent.nextAction.voucher_details->Option.getOr({ download_url: "", reference: "", }) @@ -470,9 +468,7 @@ let rec intentCall = ( } } else { let paymentIntentID = - Js.String2.split(clientSecret, "_secret_") - ->Belt.Array.get(0) - ->Belt.Option.getWithDefault("") + Js.String2.split(clientSecret, "_secret_")->Belt.Array.get(0)->Option.getOr("") let endpoint = ApiEndpoint.getApiEndPoint(~publishableKey=confirmParam.publishableKey, ()) let retrieveUri = `${endpoint}/payments/${paymentIntentID}?client_secret=${clientSecret}` intentCall( @@ -548,16 +544,16 @@ let rec maskPayload = payloadDict => { let maskedPayload = Js.Dict.empty() keys ->Js.Array2.map(key => { - let value = payloadDict->Js.Dict.get(key)->Belt.Option.getWithDefault(Js.Json.null) - if value->Js.Json.decodeArray->Belt.Option.isSome { - let arr = value->Js.Json.decodeArray->Belt.Option.getWithDefault([]) + let value = payloadDict->Js.Dict.get(key)->Option.getOr(Js.Json.null) + if value->Js.Json.decodeArray->Option.isSome { + let arr = value->Js.Json.decodeArray->Option.getOr([]) arr->Js.Array2.forEachi((element, index) => { maskedPayload->Js.Dict.set( key ++ "[" ++ index->Belt.Int.toString ++ "]", element->Utils.getDictFromJson->maskPayload->Js.Json.string, ) }) - } else if value->Js.Json.decodeObject->Belt.Option.isSome { + } else if value->Js.Json.decodeObject->Option.isSome { let valueDict = value->Utils.getDictFromJson maskedPayload->Js.Dict.set(key, valueDict->maskPayload->Js.Json.string) } else { @@ -565,7 +561,7 @@ let rec maskPayload = payloadDict => { key, value ->Js.Json.decodeString - ->Belt.Option.getWithDefault("") + ->Option.getOr("") ->Js.String2.replaceByRe(%re(`/\S/g`), "x") ->Js.Json.string, ) @@ -615,7 +611,7 @@ let usePaymentIntent = (optLogger: option, paymentType: p let maskedPayload = body ->OrcaUtils.safeParseOpt - ->Belt.Option.getWithDefault(Js.Json.null) + ->Option.getOr(Js.Json.null) ->Utils.getDictFromJson ->maskPayload let loggerPayload = @@ -653,7 +649,7 @@ let usePaymentIntent = (optLogger: option, paymentType: p ~value="", ~internalMetadata=loggerPayload, ~eventName=PAYMENT_ATTEMPT, - ~paymentMethod=json->Js.Json.decodeString->Belt.Option.getWithDefault(""), + ~paymentMethod=json->Js.Json.decodeString->Option.getOr(""), (), ) } @@ -750,7 +746,7 @@ let useSessions = ( open Promise let headers = [("Content-Type", "application/json"), ("api-key", publishableKey)] let paymentIntentID = - Js.String2.split(clientSecret, "_secret_")->Belt.Array.get(0)->Belt.Option.getWithDefault("") + Js.String2.split(clientSecret, "_secret_")->Belt.Array.get(0)->Option.getOr("") let body = [ ("payment_id", paymentIntentID->Js.Json.string), diff --git a/src/Utilities/PaymentUtils.res b/src/Utilities/PaymentUtils.res index fb0564cd..7b251c26 100644 --- a/src/Utilities/PaymentUtils.res +++ b/src/Utilities/PaymentUtils.res @@ -204,12 +204,7 @@ let getDisplayNameAndIcon = ( let id = aliasName->Js.String2.split(" ") ( aliasName, - Some( - PaymentMethodsRecord.icon( - id->Belt.Array.get(0)->Belt.Option.getWithDefault(""), - ~size=19, - ), - ), + Some(PaymentMethodsRecord.icon(id->Belt.Array.get(0)->Option.getOr(""), ~size=19)), ) } } diff --git a/src/Utilities/Utils.res b/src/Utilities/Utils.res index afad299f..683a4c33 100644 --- a/src/Utilities/Utils.res +++ b/src/Utilities/Utils.res @@ -42,48 +42,45 @@ let handleOnConfirmPostMessage = (~targetOrigin="*", ~isOneClick=false, ()) => { handlePostMessage([(message, true->Js.Json.boolean)], ~targetOrigin) } let getOptionString = (dict, key) => { - dict->Js.Dict.get(key)->Belt.Option.flatMap(Js.Json.decodeString) + dict->Js.Dict.get(key)->Option.flatMap(Js.Json.decodeString) } let getString = (dict, key, default) => { - getOptionString(dict, key)->Belt.Option.getWithDefault(default) + getOptionString(dict, key)->Option.getOr(default) } let getInt = (dict, key, default: int) => { dict ->Js.Dict.get(key) - ->Belt.Option.flatMap(Js.Json.decodeNumber) - ->Belt.Option.getWithDefault(default->Belt.Int.toFloat) + ->Option.flatMap(Js.Json.decodeNumber) + ->Option.getOr(default->Belt.Int.toFloat) ->Belt.Float.toInt } let getJsonBoolValue = (dict, key, default) => { - dict->Js.Dict.get(key)->Belt.Option.getWithDefault(default->Js.Json.boolean) + dict->Js.Dict.get(key)->Option.getOr(default->Js.Json.boolean) } let getJsonStringFromDict = (dict, key, default) => { - dict->Js.Dict.get(key)->Belt.Option.getWithDefault(default->Js.Json.string) + dict->Js.Dict.get(key)->Option.getOr(default->Js.Json.string) } let getJsonArrayFromDict = (dict, key, default) => { - dict->Js.Dict.get(key)->Belt.Option.getWithDefault(default->Js.Json.array) + dict->Js.Dict.get(key)->Option.getOr(default->Js.Json.array) } let getJsonFromDict = (dict, key, default) => { - dict->Js.Dict.get(key)->Belt.Option.getWithDefault(default) + dict->Js.Dict.get(key)->Option.getOr(default) } let getJsonObjFromDict = (dict, key, default) => { - dict - ->Js.Dict.get(key) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.getWithDefault(default) + dict->Js.Dict.get(key)->Option.flatMap(Js.Json.decodeObject)->Option.getOr(default) } let getDecodedStringFromJson = (json, callbackFunc, defaultValue) => { json ->Js.Json.decodeObject - ->Belt.Option.flatMap(callbackFunc) - ->Belt.Option.flatMap(Js.Json.decodeString) - ->Belt.Option.getWithDefault(defaultValue) + ->Option.flatMap(callbackFunc) + ->Option.flatMap(Js.Json.decodeString) + ->Option.getOr(defaultValue) } let getRequiredString = (dict, key, default, ~logger) => { @@ -95,7 +92,7 @@ let getRequiredString = (dict, key, default, ~logger) => { } | None => { manageErrorWarning(REQUIRED_PARAMETER, ~dynamicStr=key, ~logger, ()) - optionalStr->Belt.Option.getWithDefault(default) + optionalStr->Option.getOr(default) } } } @@ -114,24 +111,21 @@ let getWarningString = (dict, key, default, ~logger) => { } let getDictFromObj = (dict, key) => { - dict - ->Js.Dict.get(key) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.getWithDefault(Js.Dict.empty()) + dict->Js.Dict.get(key)->Option.flatMap(Js.Json.decodeObject)->Option.getOr(Js.Dict.empty()) } let getJsonObjectFromDict = (dict, key) => { - dict->Js.Dict.get(key)->Belt.Option.getWithDefault(Js.Json.object_(Js.Dict.empty())) + dict->Js.Dict.get(key)->Option.getOr(Js.Json.object_(Js.Dict.empty())) } let getOptionBool = (dict, key) => { - dict->Js.Dict.get(key)->Belt.Option.flatMap(Js.Json.decodeBoolean) + dict->Js.Dict.get(key)->Option.flatMap(Js.Json.decodeBoolean) } let getDictFromJson = (json: Js.Json.t) => { - json->Js.Json.decodeObject->Belt.Option.getWithDefault(Js.Dict.empty()) + json->Js.Json.decodeObject->Option.getOr(Js.Dict.empty()) } let getBool = (dict, key, default) => { - getOptionBool(dict, key)->Belt.Option.getWithDefault(default) + getOptionBool(dict, key)->Option.getOr(default) } let getBoolWithWarning = (dict, key, default, ~logger) => { @@ -160,31 +154,29 @@ let getNumberWithWarning = (dict, key, ~logger, default) => { } let getOptionalArrayFromDict = (dict, key) => { - dict->Js.Dict.get(key)->Belt.Option.flatMap(Js.Json.decodeArray) + dict->Js.Dict.get(key)->Option.flatMap(Js.Json.decodeArray) } let getArray = (dict, key) => { - dict->getOptionalArrayFromDict(key)->Belt.Option.getWithDefault([]) + dict->getOptionalArrayFromDict(key)->Option.getOr([]) } let getStrArray = (dict, key) => { dict ->getOptionalArrayFromDict(key) - ->Belt.Option.getWithDefault([]) - ->Belt.Array.map(json => json->Js.Json.decodeString->Belt.Option.getWithDefault("")) + ->Option.getOr([]) + ->Belt.Array.map(json => json->Js.Json.decodeString->Option.getOr("")) } let getOptionalStrArray: (Js.Dict.t, string) => option> = (dict, key) => { switch dict->getOptionalArrayFromDict(key) { | Some(val) => val->Js.Array2.length === 0 ? None - : Some( - val->Belt.Array.map(json => json->Js.Json.decodeString->Belt.Option.getWithDefault("")), - ) + : Some(val->Belt.Array.map(json => json->Js.Json.decodeString->Option.getOr(""))) | None => None } } -let getBoolValue = val => val->Belt.Option.getWithDefault(false) +let getBoolValue = val => val->Option.getOr(false) let toKebabCase = str => { str @@ -239,8 +231,8 @@ let mergeJsons = (json1, json2) => { if defaultProp->getDictFromJson->Js.Dict.keys->Js.Array.length == 0 { obj1->Js.Dict.set(key, overrideProp) } else if ( - overrideProp->Js.Json.decodeObject->Belt.Option.isSome && - defaultProp->Js.Json.decodeObject->Belt.Option.isSome + overrideProp->Js.Json.decodeObject->Option.isSome && + defaultProp->Js.Json.decodeObject->Option.isSome ) { merge(defaultProp->getDictFromJson, overrideProp->getDictFromJson) } else if overrideProp !== defaultProp { @@ -308,7 +300,7 @@ let rec transformKeys = (json: Js.Json.t, to: case) => { { arr ->Js.Array2.map(item => - if item->Js.Json.decodeObject->Belt.Option.isSome { + if item->Js.Json.decodeObject->Option.isSome { item->transformKeys(to) } else { item @@ -338,10 +330,8 @@ let rec transformKeys = (json: Js.Json.t, to: case) => { let getClientCountry = clientTimeZone => { Country.country - ->Js.Array2.find(item => - item.timeZones->Js.Array2.find(i => i == clientTimeZone)->Belt.Option.isSome - ) - ->Belt.Option.getWithDefault(Country.defaultTimeZone) + ->Js.Array2.find(item => item.timeZones->Js.Array2.find(i => i == clientTimeZone)->Option.isSome) + ->Option.getOr(Country.defaultTimeZone) } let removeDuplicate = arr => { @@ -389,28 +379,24 @@ let checkEmailValid = ( } let validatePhoneNumber = (countryCode, number) => { - let phoneNumberDict = - phoneNumberJson->Js.Json.decodeObject->Belt.Option.getWithDefault(Js.Dict.empty()) + let phoneNumberDict = phoneNumberJson->Js.Json.decodeObject->Option.getOr(Js.Dict.empty()) let countriesArr = phoneNumberDict ->Js.Dict.get("countries") - ->Belt.Option.flatMap(Js.Json.decodeArray) - ->Belt.Option.getWithDefault([]) + ->Option.flatMap(Js.Json.decodeArray) + ->Option.getOr([]) ->Belt.Array.keepMap(Js.Json.decodeObject) let filteredArr = countriesArr->Js.Array2.filter(countryObj => { countryObj ->Js.Dict.get("phone_number_code") - ->Belt.Option.flatMap(Js.Json.decodeString) - ->Belt.Option.getWithDefault("") == countryCode + ->Option.flatMap(Js.Json.decodeString) + ->Option.getOr("") == countryCode }) switch filteredArr[0] { | Some(obj) => let regex = - obj - ->Js.Dict.get("validation_regex") - ->Belt.Option.flatMap(Js.Json.decodeString) - ->Belt.Option.getWithDefault("") + obj->Js.Dict.get("validation_regex")->Option.flatMap(Js.Json.decodeString)->Option.getOr("") Js.Re.test_(regex->Js.Re.fromString, number) | None => false } @@ -445,7 +431,7 @@ let isAllValid = ( let getCountryPostal = (countryCode, postalCodes: array) => { postalCodes ->Js.Array2.find(item => item.iso == countryCode) - ->Belt.Option.getWithDefault(PostalCodeType.defaultPostalCode) + ->Option.getOr(PostalCodeType.defaultPostalCode) } let getCountryNames = (list: array) => { @@ -465,8 +451,7 @@ let getBankNames = (list: Bank.bankList, allBanks: array) => { } let getBankKeys = (str, banks: Bank.bankList, default) => { - let bank = - banks->Js.Array2.find(item => item.displayName == str)->Belt.Option.getWithDefault(default) + let bank = banks->Js.Array2.find(item => item.displayName == str)->Option.getOr(default) bank.hyperSwitch } @@ -582,8 +567,8 @@ let getOptionalArr = arr => { } let checkPriorityList = paymentMethodOrder => { - paymentMethodOrder->getOptionalArr->Belt.Array.get(0)->Belt.Option.getWithDefault("") == "card" || - paymentMethodOrder->Belt.Option.isNone + paymentMethodOrder->getOptionalArr->Belt.Array.get(0)->Option.getOr("") == "card" || + paymentMethodOrder->Option.isNone } type sizeunit = Pixel | Rem | Em let addSize = (str: string, value: float, unit: sizeunit) => { @@ -602,13 +587,13 @@ let addSize = (str: string, value: float, unit: sizeunit) => { ->Js.Array2.slice(~start=0, ~end_={arr->Js.Array2.length - unitInString->Js.String2.length}) ->Js.Array2.joinWith("") ->Belt.Float.fromString - ->Belt.Option.getWithDefault(0.0) + ->Option.getOr(0.0) (val +. value)->Belt.Float.toString ++ unitInString } else { str } } -let toInt = val => val->Belt.Int.fromString->Belt.Option.getWithDefault(0) +let toInt = val => val->Belt.Int.fromString->Option.getOr(0) let validateRountingNumber = str => { if str->Js.String2.length != 9 { @@ -654,7 +639,7 @@ let onlyDigits = str => str->Js.String2.replaceByRe(%re(`/\D/g`), "") let getCountryCode = country => { Country.country ->Js.Array2.find(item => item.countryName == country) - ->Belt.Option.getWithDefault(Country.defaultTimeZone) + ->Option.getOr(Country.defaultTimeZone) } let getStateNames = (list: Js.Json.t, country: RecoilAtomTypes.field) => { @@ -662,7 +647,7 @@ let getStateNames = (list: Js.Json.t, country: RecoilAtomTypes.field) => { list ->getDictFromJson ->getOptionalArrayFromDict(getCountryCode(country.value).isoAlpha2) - ->Belt.Option.getWithDefault([]) + ->Option.getOr([]) options->Js.Array2.reduce((arr, item) => { arr @@ -670,8 +655,8 @@ let getStateNames = (list: Js.Json.t, country: RecoilAtomTypes.field) => { item ->getDictFromJson ->Js.Dict.get("name") - ->Belt.Option.flatMap(Js.Json.decodeString) - ->Belt.Option.getWithDefault(""), + ->Option.flatMap(Js.Json.decodeString) + ->Option.getOr(""), ) ->ignore arr @@ -744,7 +729,7 @@ let formatBSB = bsb => { } let getDictIsSome = (dict, key) => { - dict->Js.Dict.get(key)->Belt.Option.isSome + dict->Js.Dict.get(key)->Option.isSome } let rgbaTorgb = bgColor => { @@ -758,9 +743,9 @@ let rgbaTorgb = bgColor => { if colorArr->Js.Array2.length === 3 { cleanBgColor } else { - let red = colorArr->Belt.Array.get(0)->Belt.Option.getWithDefault("0") - let green = colorArr->Belt.Array.get(1)->Belt.Option.getWithDefault("0") - let blue = colorArr->Belt.Array.get(2)->Belt.Option.getWithDefault("0") + let red = colorArr->Belt.Array.get(0)->Option.getOr("0") + let green = colorArr->Belt.Array.get(1)->Option.getOr("0") + let blue = colorArr->Belt.Array.get(2)->Option.getOr("0") `rgba(${red}, ${green}, ${blue})` } } else { @@ -829,11 +814,11 @@ let formatException = exc => { let getArrayValFromJsonDict = (dict, key, arrayKey) => { dict ->Js.Dict.get(key) - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.getWithDefault(Js.Dict.empty()) + ->Option.flatMap(Js.Json.decodeObject) + ->Option.getOr(Js.Dict.empty()) ->Js.Dict.get(arrayKey) - ->Belt.Option.flatMap(Js.Json.decodeArray) - ->Belt.Option.getWithDefault([]) + ->Option.flatMap(Js.Json.decodeArray) + ->Option.getOr([]) ->Belt.Array.keepMap(Js.Json.decodeString) } diff --git a/src/orca-loader/Elements.res b/src/orca-loader/Elements.res index 6ccb392e..6a0e828e 100644 --- a/src/orca-loader/Elements.res +++ b/src/orca-loader/Elements.res @@ -29,36 +29,34 @@ let make = ( try { let iframeRef = [] - let logger = logger->Belt.Option.getWithDefault(OrcaLogger.defaultLoggerConfig) + let logger = logger->Option.getOr(OrcaLogger.defaultLoggerConfig) let savedPaymentElement = Js.Dict.empty() - let localOptions = options->Js.Json.decodeObject->Belt.Option.getWithDefault(Js.Dict.empty()) + let localOptions = options->Js.Json.decodeObject->Option.getOr(Js.Dict.empty()) let endpoint = ApiEndpoint.getApiEndPoint(~publishableKey, ()) let appearance = - localOptions - ->Js.Dict.get("appearance") - ->Belt.Option.getWithDefault(Js.Dict.empty()->Js.Json.object_) + localOptions->Js.Dict.get("appearance")->Option.getOr(Js.Dict.empty()->Js.Json.object_) let fonts = localOptions ->Js.Dict.get("fonts") - ->Belt.Option.flatMap(Js.Json.decodeArray) - ->Belt.Option.getWithDefault([]) + ->Option.flatMap(Js.Json.decodeArray) + ->Option.getOr([]) ->Js.Json.array let blockConfirm = GlobalVars.isInteg && options ->Js.Json.decodeObject - ->Belt.Option.flatMap(x => x->Js.Dict.get("blockConfirm")) - ->Belt.Option.flatMap(Js.Json.decodeBoolean) - ->Belt.Option.getWithDefault(false) + ->Option.flatMap(x => x->Js.Dict.get("blockConfirm")) + ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.getOr(false) let switchToCustomPod = GlobalVars.isInteg && options ->Js.Json.decodeObject - ->Belt.Option.flatMap(x => x->Js.Dict.get("switchToCustomPod")) - ->Belt.Option.flatMap(Js.Json.decodeBoolean) - ->Belt.Option.getWithDefault(false) + ->Option.flatMap(x => x->Js.Dict.get("switchToCustomPod")) + ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.getOr(false) let paymentMethodListPromise = PaymentHelpers.usePaymentMethodList( ~clientSecret, @@ -90,14 +88,14 @@ let make = ( ~list=json->Utils.getDictFromJson->PaymentMethodsRecord.itemToObjMapper, ~paymentMethod="wallet", ~paymentMethodType="apple_pay", - )->Belt.Option.isSome + )->Option.isSome let isGooglePayPresent = PaymentMethodsRecord.getPaymentMethodTypeFromList( ~list=json->Utils.getDictFromJson->PaymentMethodsRecord.itemToObjMapper, ~paymentMethod="wallet", ~paymentMethodType="google_pay", - )->Belt.Option.isSome + )->Option.isSome if isApplePayPresent || isGooglePayPresent { if ( @@ -258,7 +256,7 @@ let make = ( let json = event.data->eventToJson let dict = json->getDictFromJson - if dict->Js.Dict.get("applePayMounted")->Belt.Option.isSome { + if dict->Js.Dict.get("applePayMounted")->Option.isSome { switch sessionForApplePay->Js.Nullable.toOption { | Some(session) => if session.canMakePayments(.) { @@ -367,23 +365,23 @@ let make = ( let sessionsArr = json ->Js.Json.decodeObject - ->Belt.Option.getWithDefault(Js.Dict.empty()) + ->Option.getOr(Js.Dict.empty()) ->SessionsType.getSessionsTokenJson("session_token") let applePayPresent = sessionsArr->Js.Array2.find(item => { let x = item ->Js.Json.decodeObject - ->Belt.Option.flatMap( + ->Option.flatMap( x => { x->Js.Dict.get("wallet_name") }, ) - ->Belt.Option.flatMap(Js.Json.decodeString) - ->Belt.Option.getWithDefault("") + ->Option.flatMap(Js.Json.decodeString) + ->Option.getOr("") x === "apple_pay" || x === "applepay" }) - if !(applePayPresent->Belt.Option.isSome) { + if !(applePayPresent->Option.isSome) { let msg = [("applePaySessionObjNotPresent", true->Js.Json.boolean)]->Js.Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) } @@ -391,13 +389,13 @@ let make = ( let x = item ->Js.Json.decodeObject - ->Belt.Option.flatMap( + ->Option.flatMap( x => { x->Js.Dict.get("wallet_name") }, ) - ->Belt.Option.flatMap(Js.Json.decodeString) - ->Belt.Option.getWithDefault("") + ->Option.flatMap(Js.Json.decodeString) + ->Option.getOr("") x === "google_pay" || x === "googlepay" }) @@ -405,7 +403,7 @@ let make = ( }) ->then(res => { let (json, applePayPresent, googlePayPresent) = res - if componentType === "payment" && applePayPresent->Belt.Option.isSome { + if componentType === "payment" && applePayPresent->Option.isSome { //do operations here let processPayment = (token: Js.Json.t) => { //let body = PaymentBody.applePayBody(~token) @@ -420,15 +418,15 @@ let make = ( let dict = json->getDictFromJson switch dict->Js.Dict.get("applePayButtonClicked") { | Some(val) => - if val->Js.Json.decodeBoolean->Belt.Option.getWithDefault(false) { + if val->Js.Json.decodeBoolean->Option.getOr(false) { let isDelayedSessionToken = applePayPresent - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.getWithDefault(Js.Dict.empty()) + ->Option.flatMap(Js.Json.decodeObject) + ->Option.getOr(Js.Dict.empty()) ->Js.Dict.get("delayed_session_token") - ->Belt.Option.getWithDefault(Js.Json.null) + ->Option.getOr(Js.Json.null) ->Js.Json.decodeBoolean - ->Belt.Option.getWithDefault(false) + ->Option.getOr(false) if isDelayedSessionToken { logger.setLogInfo( @@ -441,15 +439,15 @@ let make = ( let applePayPresent = dict ->Js.Dict.get("applePayPresent") - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.getWithDefault(Js.Dict.empty()) + ->Option.flatMap(Js.Json.decodeObject) + ->Option.getOr(Js.Dict.empty()) let connector = applePayPresent ->Js.Dict.get("connector") - ->Belt.Option.getWithDefault(Js.Json.null) + ->Option.getOr(Js.Json.null) ->Js.Json.decodeString - ->Belt.Option.getWithDefault("") + ->Option.getOr("") switch connector { | "trustpay" => @@ -462,27 +460,27 @@ let make = ( let secrets = applePayPresent ->Js.Dict.get("session_token_data") - ->Belt.Option.getWithDefault(Js.Json.null) + ->Option.getOr(Js.Json.null) ->Js.Json.decodeObject - ->Belt.Option.getWithDefault(Js.Dict.empty()) + ->Option.getOr(Js.Dict.empty()) ->Js.Dict.get("secrets") - ->Belt.Option.getWithDefault(Js.Json.null) + ->Option.getOr(Js.Json.null) let paymentRequest = applePayPresent ->Js.Dict.get("payment_request_data") - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.getWithDefault(Js.Dict.empty()) + ->Option.flatMap(Js.Json.decodeObject) + ->Option.getOr(Js.Dict.empty()) ->ApplePayTypes.jsonToPaymentRequestDataType let payment = secrets ->Js.Json.decodeObject - ->Belt.Option.getWithDefault(Js.Dict.empty()) + ->Option.getOr(Js.Dict.empty()) ->Js.Dict.get("payment") - ->Belt.Option.getWithDefault(Js.Json.null) + ->Option.getOr(Js.Json.null) ->Js.Json.decodeString - ->Belt.Option.getWithDefault("") + ->Option.getOr("") try { let trustpay = trustPayApi(secrets) @@ -538,10 +536,10 @@ let make = ( } else { let paymentRequest = applePayPresent - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.getWithDefault(Js.Dict.empty()) + ->Option.flatMap(Js.Json.decodeObject) + ->Option.getOr(Js.Dict.empty()) ->Js.Dict.get("payment_request_data") - ->Belt.Option.getWithDefault(Js.Dict.empty()->Js.Json.object_) + ->Option.getOr(Js.Dict.empty()->Js.Json.object_) ->Utils.transformKeys(Utils.CamelCase) let ssn = applePaySession(3, paymentRequest) @@ -561,10 +559,10 @@ let make = ( ssn.onvalidatemerchant = _event => { let merchantSession = applePayPresent - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.getWithDefault(Js.Dict.empty()) + ->Option.flatMap(Js.Json.decodeObject) + ->Option.getOr(Js.Dict.empty()) ->Js.Dict.get("session_token_data") - ->Belt.Option.getWithDefault(Js.Dict.empty()->Js.Json.object_) + ->Option.getOr(Js.Dict.empty()->Js.Json.object_) ->Utils.transformKeys(Utils.CamelCase) ssn.completeMerchantValidation(. merchantSession) } @@ -592,7 +590,7 @@ let make = ( addSmartEventListener("message", handleApplePayMessages.contents, "onApplePayMessages") } - if componentType === "payment" && googlePayPresent->Belt.Option.isSome { + if componentType === "payment" && googlePayPresent->Option.isSome { let dict = json->getDictFromJson let sessionObj = SessionsType.itemToObjMapper(dict, Others) let gPayToken = SessionsType.getPaymentSessionObj(sessionObj.sessionsToken, Gpay) diff --git a/src/orca-loader/Hyper.res b/src/orca-loader/Hyper.res index bb037fba..f400f6c1 100644 --- a/src/orca-loader/Hyper.res +++ b/src/orca-loader/Hyper.res @@ -72,12 +72,12 @@ let make = (publishableKey, options: option, analyticsInfo: optionBelt.Option.getWithDefault(Js.Json.null) + ->Option.getOr(Js.Json.null) ->Utils.getDictFromJson ->Utils.getBool("isPreloadEnabled", true) let analyticsMetadata = options - ->Belt.Option.getWithDefault(Js.Json.null) + ->Option.getOr(Js.Json.null) ->Utils.getDictFromJson ->Utils.getDictFromObj("analytics") ->Utils.getJsonObjectFromDict("metadata") @@ -85,9 +85,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionBelt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.getWithDefault(Js.Dict.empty()) + analyticsInfo->Option.flatMap(Js.Json.decodeObject)->Option.getOr(Js.Dict.empty()) let sessionID = analyticsInfoDict->getString("sessionID", "") let sdkTimestamp = analyticsInfoDict->getString("timeStamp", Js.Date.now()->Belt.Float.toString) let logger = OrcaLogger.make( @@ -102,9 +100,9 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Json.decodeObject - ->Belt.Option.flatMap(x => x->Js.Dict.get("customBackendUrl")) - ->Belt.Option.flatMap(Js.Json.decodeString) - ->Belt.Option.getWithDefault("") + ->Option.flatMap(x => x->Js.Dict.get("customBackendUrl")) + ->Option.flatMap(Js.Json.decodeString) + ->Option.getOr("") customBackendUrl === "" ? () : ApiEndpoint.setApiEndPoint(customBackendUrl) | None => () } @@ -245,22 +243,22 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Json.decodeObject - ->Belt.Option.flatMap(x => x->Js.Dict.get("confirmParams")) - ->Belt.Option.getWithDefault(Js.Dict.empty()->Js.Json.object_) + ->Option.flatMap(x => x->Js.Dict.get("confirmParams")) + ->Option.getOr(Js.Dict.empty()->Js.Json.object_) let redirect = payload ->Js.Json.decodeObject - ->Belt.Option.flatMap(x => x->Js.Dict.get("redirect")) - ->Belt.Option.flatMap(Js.Json.decodeString) - ->Belt.Option.getWithDefault("if_required") + ->Option.flatMap(x => x->Js.Dict.get("redirect")) + ->Option.flatMap(Js.Json.decodeString) + ->Option.getOr("if_required") let url = confirmParams ->Js.Json.decodeObject - ->Belt.Option.flatMap(x => x->Js.Dict.get("return_url")) - ->Belt.Option.flatMap(Js.Json.decodeString) - ->Belt.Option.getWithDefault("") + ->Option.flatMap(x => x->Js.Dict.get("return_url")) + ->Option.flatMap(Js.Json.decodeString) + ->Option.getOr("") Js.Promise.make((~resolve, ~reject as _) => { let handleMessage = (event: Types.event) => { @@ -277,15 +275,9 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Dict.get("data") - ->Belt.Option.getWithDefault(Js.Dict.empty()->Js.Json.object_) + let data = dict->Js.Dict.get("data")->Option.getOr(Js.Dict.empty()->Js.Json.object_) let returnUrl = - dict - ->Js.Dict.get("url") - ->Belt.Option.flatMap(Js.Json.decodeString) - ->Belt.Option.getWithDefault(url) + dict->Js.Dict.get("url")->Option.flatMap(Js.Json.decodeString)->Option.getOr(url) if isOneClick { iframeRef.contents->Js.Array2.forEach(ifR => { @@ -296,12 +288,9 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Json.decodeBoolean->Belt.Option.getWithDefault(false) && - redirect === "always" - ) { + if val->Js.Json.decodeBoolean->Option.getOr(false) && redirect === "always" { Window.replace(returnUrl) - } else if !(val->Js.Json.decodeBoolean->Belt.Option.getWithDefault(false)) { + } else if !(val->Js.Json.decodeBoolean->Option.getOr(false)) { resolve(. json) } else { resolve(. data) @@ -344,9 +333,9 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Json.decodeObject - ->Belt.Option.flatMap(x => x->Js.Dict.get("clientSecret")) - ->Belt.Option.flatMap(Js.Json.decodeString) - ->Belt.Option.getWithDefault("") + ->Option.flatMap(x => x->Js.Dict.get("clientSecret")) + ->Option.flatMap(Js.Json.decodeString) + ->Option.getOr("") clientSecret := clientSecretId Js.Promise.make((~resolve, ~reject as _) => { logger.setClientSecret(clientSecretId) @@ -377,9 +366,7 @@ let make = (publishableKey, options: option, analyticsInfo: option, ) => { let decodedData = - data - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.getWithDefault(Js.Dict.empty()) + data->Option.flatMap(Js.Json.decodeObject)->Option.getOr(Js.Dict.empty()) Js.Promise.make((~resolve, ~reject as _) => { iframeRef.contents ->Js.Array2.map(iframe => { @@ -410,7 +397,7 @@ let make = (publishableKey, options: option, analyticsInfo: optiongetString("return_url", "/") - if val->Js.Json.decodeBoolean->Belt.Option.getWithDefault(false) && url !== "/" { + if val->Js.Json.decodeBoolean->Option.getOr(false) && url !== "/" { Window.replace(url) } else { resolve(. json) @@ -425,10 +412,10 @@ let make = (publishableKey, options: option, analyticsInfo: option { - if dict->Js.Dict.get("amount")->Belt.Option.isNone { + if dict->Js.Dict.get("amount")->Option.isNone { Js.Console.error("Amount is not specified, please input an amount") } - let amount = dict->Js.Dict.get("amount")->Belt.Option.getWithDefault(0.0->Js.Json.number) + let amount = dict->Js.Dict.get("amount")->Option.getOr(0.0->Js.Json.number) dict->Js.Dict.set( "amount", [("currency", currency), ("value", amount)]->Js.Dict.fromArray->Js.Json.object_, @@ -441,9 +428,9 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Dict.get("total") - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.flatMap(x => addAmountToDict(x, currency)) - ->Belt.Option.getWithDefault(Js.Dict.empty()->Js.Json.object_) + ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(x => addAmountToDict(x, currency)) + ->Option.getOr(Js.Dict.empty()->Js.Json.object_) let displayItems = optionsDict->getJsonArrayFromDict("displayItems", []) let requestPayerName = optionsDict->getJsonStringFromDict("requestPayerName", "") let requestPayerEmail = optionsDict->getJsonBoolValue("requestPayerEmail", false) @@ -453,9 +440,9 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Dict.get("shippingOptions") - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.flatMap(x => addAmountToDict(x, currency)) - ->Belt.Option.getWithDefault(Js.Dict.empty()->Js.Json.object_) + ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(x => addAmountToDict(x, currency)) + ->Option.getOr(Js.Dict.empty()->Js.Json.object_) let applePayPaymentMethodData = [ diff --git a/src/orca-loader/LoaderPaymentElement.res b/src/orca-loader/LoaderPaymentElement.res index df198ccf..50bb16df 100644 --- a/src/orca-loader/LoaderPaymentElement.res +++ b/src/orca-loader/LoaderPaymentElement.res @@ -22,23 +22,23 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let sdkHandleConfirmPayment = options ->Js.Json.decodeObject - ->Belt.Option.flatMap(x => x->Js.Dict.get("sdkHandleConfirmPayment")) - ->Belt.Option.flatMap(Js.Json.decodeBoolean) - ->Belt.Option.getWithDefault(false) + ->Option.flatMap(x => x->Js.Dict.get("sdkHandleConfirmPayment")) + ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.getOr(false) let sdkHandleOneClickConfirmPayment = options ->Js.Json.decodeObject - ->Belt.Option.flatMap(x => x->Js.Dict.get("sdkHandleOneClickConfirmPayment")) - ->Belt.Option.flatMap(Js.Json.decodeBoolean) - ->Belt.Option.getWithDefault(true) + ->Option.flatMap(x => x->Js.Dict.get("sdkHandleOneClickConfirmPayment")) + ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.getOr(true) let disableSaveCards = options ->Js.Json.decodeObject - ->Belt.Option.flatMap(x => x->Js.Dict.get("disableSaveCards")) - ->Belt.Option.flatMap(Js.Json.decodeBoolean) - ->Belt.Option.getWithDefault(false) + ->Option.flatMap(x => x->Js.Dict.get("disableSaveCards")) + ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.getOr(false) let on = (eventType, eventHandler) => { switch eventType->eventTypeMapper { @@ -138,7 +138,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let newEntries = newFlatOption->Js.Dict.entries newEntries->Js.Array2.forEach(entries => { let (key, value) = entries - if flatOption->Js.Dict.get(key)->Belt.Option.isNone { + if flatOption->Js.Dict.get(key)->Option.isNone { flatOption->Js.Dict.set(key, value) } }) @@ -156,8 +156,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let mount = selector => { mountId := selector let localSelectorArr = selector->Js.String2.split("#") - let localSelectorString = - localSelectorArr->Belt.Array.get(1)->Belt.Option.getWithDefault("someString") + let localSelectorString = localSelectorArr->Belt.Array.get(1)->Option.getOr("someString") let iframeHeightRef = ref(25.0) let currentClass = ref("base") let fullscreen = ref(false) @@ -168,7 +167,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let eventDataObject = ev.data->eventToJson let iframeHeight = eventDataObject->getOptionalJsonFromJson("iframeHeight") - if iframeHeight->Belt.Option.isSome { + if iframeHeight->Option.isSome { let iframeId = eventDataObject ->getOptionalJsonFromJson("iframeId") @@ -214,10 +213,10 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = } let combinedHyperClasses = eventDataObject->getOptionalJsonFromJson("concatedString") - if combinedHyperClasses->Belt.Option.isSome { + if combinedHyperClasses->Option.isSome { let id = eventDataObject->getOptionalJsonFromJson("id")->getStringfromOptionaljson("") - let decodeStringTest = combinedHyperClasses->Belt.Option.flatMap(Js.Json.decodeString) + let decodeStringTest = combinedHyperClasses->Option.flatMap(Js.Json.decodeString) switch decodeStringTest { | Some(val) => currentClass := val | None => () @@ -238,13 +237,13 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let iframeID = eventDataObject->getOptionalJsonFromJson("iframeId")->getStringfromOptionaljson("") - if fullscreenIframe->Belt.Option.isSome { + if fullscreenIframe->Option.isSome { fullscreen := fullscreenIframe->getBoolfromjson(false) fullscreenParam := param->getStringfromOptionaljson("") fullscreenMetadata := metadata - ->Belt.Option.flatMap(Js.Json.decodeObject) - ->Belt.Option.getWithDefault(Js.Dict.empty()) + ->Option.flatMap(Js.Json.decodeObject) + ->Option.getOr(Js.Dict.empty()) ->Js.Json.object_ let fullscreenElem = Window.querySelector( `#orca-fullscreen-iframeRef-${localSelectorString}`, @@ -266,7 +265,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let handleFullScreenCallback = (ev: Types.event) => { let json = ev.data->eventToJson let dict = json->Utils.getDictFromJson - if dict->Js.Dict.get("iframeMountedCallback")->Belt.Option.isSome { + if dict->Js.Dict.get("iframeMountedCallback")->Option.isSome { let fullScreenEle = Window.querySelector(`#orca-fullscreen`) fullScreenEle->Window.iframePostMessage( [ @@ -275,7 +274,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = ]->Js.Dict.fromArray, ) } - if dict->Js.Dict.get("driverMounted")->Belt.Option.isSome { + if dict->Js.Dict.get("driverMounted")->Option.isSome { mainElement->Window.iframePostMessage( [ ("fullScreenIframeMounted", true->Js.Json.boolean), @@ -302,7 +301,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = } } - if iframeMounted->Belt.Option.isSome { + if iframeMounted->Option.isSome { mountPostMessage( Window.querySelector(`#orca-payment-element-iframeRef-${localSelectorString}`), localSelectorString, diff --git a/src/orca-loader/OrcaUtils.res b/src/orca-loader/OrcaUtils.res index bbe4aa1c..c40015f8 100644 --- a/src/orca-loader/OrcaUtils.res +++ b/src/orca-loader/OrcaUtils.res @@ -9,7 +9,7 @@ let safeParseOpt = st => { } } let safeParse = st => { - safeParseOpt(st)->Belt.Option.getWithDefault(Js.Json.null) + safeParseOpt(st)->Option.getOr(Js.Json.null) } let rec flattenObject = (obj, addIndicatorForObject) => { @@ -61,18 +61,14 @@ let rec flattenObjectWithStringifiedJson = (obj, addIndicatorForObject, keepPare if value->toNullable->Js.Nullable.isNullable { Js.Dict.set(newDict, key, value) } else { - switch value - ->Js.Json.decodeString - ->Belt.Option.getWithDefault("") - ->safeParse - ->Js.Json.decodeObject { + switch value->Js.Json.decodeString->Option.getOr("")->safeParse->Js.Json.decodeObject { | Some(_valueObj) => { if addIndicatorForObject { Js.Dict.set(newDict, key, Js.Json.object_(Js.Dict.empty())) } let flattenedSubObj = flattenObjectWithStringifiedJson( - value->Js.Json.decodeString->Belt.Option.getWithDefault("")->safeParse, + value->Js.Json.decodeString->Option.getOr("")->safeParse, addIndicatorForObject, keepParent, ) @@ -205,26 +201,26 @@ let unflattenObject = obj => { let getEventDataObj = ev => { ev ->Js.Json.decodeObject - ->Belt.Option.flatMap(x => x->Js.Dict.get("data")) - ->Belt.Option.getWithDefault(Js.Dict.empty()->Js.Json.object_) + ->Option.flatMap(x => x->Js.Dict.get("data")) + ->Option.getOr(Js.Dict.empty()->Js.Json.object_) } let getStrValueFromEventDataObj = (ev, key) => { let obj = ev->getEventDataObj obj ->Js.Json.decodeObject - ->Belt.Option.flatMap(x => x->Js.Dict.get(key)) - ->Belt.Option.flatMap(Js.Json.decodeString) - ->Belt.Option.getWithDefault("") + ->Option.flatMap(x => x->Js.Dict.get(key)) + ->Option.flatMap(Js.Json.decodeString) + ->Option.getOr("") } let getBoolValueFromEventDataObj = (ev, key) => { let obj = ev->getEventDataObj obj ->Js.Json.decodeObject - ->Belt.Option.flatMap(x => x->Js.Dict.get(key)) - ->Belt.Option.flatMap(Js.Json.decodeBoolean) - ->Belt.Option.getWithDefault(false) + ->Option.flatMap(x => x->Js.Dict.get(key)) + ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.getOr(false) } let getClasses = (options, key) => { @@ -275,31 +271,27 @@ let makeIframe = (element, url) => { } let getOptionalJson = (ev, str) => { - ev - ->getEventDataObj - ->Js.Json.decodeObject - ->Belt.Option.getWithDefault(Js.Dict.empty()) - ->Js.Dict.get(str) + ev->getEventDataObj->Js.Json.decodeObject->Option.getOr(Js.Dict.empty())->Js.Dict.get(str) } let getOptionalJsonFromJson = (ev, str) => { - ev->Js.Json.decodeObject->Belt.Option.getWithDefault(Js.Dict.empty())->Js.Dict.get(str) + ev->Js.Json.decodeObject->Option.getOr(Js.Dict.empty())->Js.Dict.get(str) } let getStringfromOptionaljson = (json: option, default: string) => { - json->Belt.Option.flatMap(Js.Json.decodeString)->Belt.Option.getWithDefault(default) + json->Option.flatMap(Js.Json.decodeString)->Option.getOr(default) } let getBoolfromjson = (json: option, default: bool) => { - json->Belt.Option.flatMap(Js.Json.decodeBoolean)->Belt.Option.getWithDefault(default) + json->Option.flatMap(Js.Json.decodeBoolean)->Option.getOr(default) } let getFloatfromjson = (json: option, default: float) => { - json->Belt.Option.flatMap(Js.Json.decodeNumber)->Belt.Option.getWithDefault(default) + json->Option.flatMap(Js.Json.decodeNumber)->Option.getOr(default) } let getStringfromjson = (json: Js.Json.t, default: string) => { - json->Js.Json.decodeString->Belt.Option.getWithDefault(default) + json->Js.Json.decodeString->Option.getOr(default) } let getThemePromise = dict => { @@ -332,7 +324,7 @@ let mergeTwoFlattenedJsonDicts = (dict1, dict2) => { let getArrayOfTupleFromDict = dict => { dict ->Js.Dict.keys - ->Belt.Array.map(key => (key, Js.Dict.get(dict, key)->Belt.Option.getWithDefault(Js.Json.null))) + ->Belt.Array.map(key => (key, Js.Dict.get(dict, key)->Option.getOr(Js.Json.null))) } let makeOneClickHandlerPromise = sdkHandleOneClickConfirmPayment => { @@ -345,12 +337,8 @@ let makeOneClickHandlerPromise = sdkHandleOneClickConfirmPayment => { let json = event.data->eventToJson->getStringfromjson("")->safeParse let dict = json->Utils.getDictFromJson - if dict->Js.Dict.get("oneClickDoSubmit")->Belt.Option.isSome { - resolve(. - dict - ->Js.Dict.get("oneClickDoSubmit") - ->Belt.Option.getWithDefault(true->Js.Json.boolean), - ) + if dict->Js.Dict.get("oneClickDoSubmit")->Option.isSome { + resolve(. dict->Js.Dict.get("oneClickDoSubmit")->Option.getOr(true->Js.Json.boolean)) } } addSmartEventListener("message", handleMessage, "onOneClickHandlerPaymentConfirm") diff --git a/src/orca-log-catcher/ErrorBoundary.res b/src/orca-log-catcher/ErrorBoundary.res index a636fab5..d3a690bc 100644 --- a/src/orca-log-catcher/ErrorBoundary.res +++ b/src/orca-log-catcher/ErrorBoundary.res @@ -118,12 +118,8 @@ module ErrorCard = { category: USER_ERROR, paymentId: "", merchantId: "", - browserName: OrcaLogger.arrayOfNameAndVersion - ->Belt.Array.get(0) - ->Belt.Option.getWithDefault("Others"), - browserVersion: OrcaLogger.arrayOfNameAndVersion - ->Belt.Array.get(1) - ->Belt.Option.getWithDefault("0"), + browserName: OrcaLogger.arrayOfNameAndVersion->Belt.Array.get(0)->Option.getOr("Others"), + browserVersion: OrcaLogger.arrayOfNameAndVersion->Belt.Array.get(1)->Option.getOr("0"), platform: Window.platform, userAgent: Window.userAgent, appId: "", diff --git a/src/orca-log-catcher/OrcaLogger.res b/src/orca-log-catcher/OrcaLogger.res index c0c9671d..2b48821a 100644 --- a/src/orca-log-catcher/OrcaLogger.res +++ b/src/orca-log-catcher/OrcaLogger.res @@ -293,7 +293,7 @@ let logFileToObj = logFile => { */ let getRefFromOption = val => { - let innerValue = val->Belt.Option.getWithDefault("") + let innerValue = val->Option.getOr("") ref(innerValue) } let getSourceString = source => { @@ -317,7 +317,7 @@ let browserDetect = content => { let re = %re("/Edg\/([\d]+\.[\w]?\.?[\w]+)/ig") let version = switch findVersion(re, content) ->Belt.Array.get(1) - ->Belt.Option.getWithDefault(Js.Nullable.null) + ->Option.getOr(Js.Nullable.null) ->Js.Nullable.toOption { | Some(a) => a | None => "" @@ -327,7 +327,7 @@ let browserDetect = content => { let re = %re("/Chrome\/([\d]+\.[\w]?\.?[\w]+)/ig") let version = switch findVersion(re, content) ->Belt.Array.get(1) - ->Belt.Option.getWithDefault(Js.Nullable.null) + ->Option.getOr(Js.Nullable.null) ->Js.Nullable.toOption { | Some(a) => a | None => "" @@ -337,7 +337,7 @@ let browserDetect = content => { let re = %re("/Safari\/([\d]+\.[\w]?\.?[\w]+)/ig") let version = switch findVersion(re, content) ->Belt.Array.get(1) - ->Belt.Option.getWithDefault(Js.Nullable.null) + ->Option.getOr(Js.Nullable.null) ->Js.Nullable.toOption { | Some(a) => a | None => "" @@ -347,7 +347,7 @@ let browserDetect = content => { let re = %re("/Opera\/([\d]+\.[\w]?\.?[\w]+)/ig") let version = switch findVersion(re, content) ->Belt.Array.get(1) - ->Belt.Option.getWithDefault(Js.Nullable.null) + ->Option.getOr(Js.Nullable.null) ->Js.Nullable.toOption { | Some(a) => a | None => "" @@ -361,7 +361,7 @@ let browserDetect = content => { let re = %re("/Firefox\/([\d]+\.[\w]?\.?[\w]+)/ig") let version = switch findVersion(re, content) ->Belt.Array.get(1) - ->Belt.Option.getWithDefault(Js.Nullable.null) + ->Option.getOr(Js.Nullable.null) ->Js.Nullable.toOption { | Some(a) => a | None => "" @@ -371,7 +371,7 @@ let browserDetect = content => { let re = %re("/fxios\/([\d]+\.[\w]?\.?[\w]+)/ig") let version = switch findVersion(re, content) ->Belt.Array.get(1) - ->Belt.Option.getWithDefault(Js.Nullable.null) + ->Option.getOr(Js.Nullable.null) ->Js.Nullable.toOption { | Some(a) => a | None => "" @@ -422,7 +422,7 @@ let make = ( merchantId := value } - let metadata = ref(metadata->Belt.Option.getWithDefault(Js.Json.null)) + let metadata = ref(metadata->Option.getOr(Js.Json.null)) let setMetadata = value => { metadata := value @@ -509,7 +509,7 @@ let make = ( [ERROR, DEBUG]->Js.Array2.includes(log.logType) || (priorityEventNames->Js.Array2.includes(log.eventName) && log.firstEvent) }) - ->Belt.Option.isSome || arrayOfLogs->Js.Array2.length > 8 + ->Option.isSome || arrayOfLogs->Js.Array2.length > 8 } let checkLogSizeAndSendData = () => { @@ -565,11 +565,10 @@ let make = ( (), ) => { let eventNameStr = eventName->eventNameToStrMapper - let firstEvent = events.contents->Js.Dict.get(eventNameStr)->Belt.Option.isNone + let firstEvent = events.contents->Js.Dict.get(eventNameStr)->Option.isNone let latency = calculateLatencyHook(~eventName, ()) - let localTimestamp = timestamp->Belt.Option.getWithDefault(Js.Date.now()->Belt.Float.toString) - let localTimestampFloat = - localTimestamp->Belt.Float.fromString->Belt.Option.getWithDefault(Js.Date.now()) + let localTimestamp = timestamp->Option.getOr(Js.Date.now()->Belt.Float.toString) + let localTimestampFloat = localTimestamp->Belt.Float.fromString->Option.getOr(Js.Date.now()) { logType, timestamp: localTimestamp, @@ -581,10 +580,10 @@ let make = ( category: logCategory, paymentId: Js.String2.split(clientSecret.contents, "_secret_") ->Belt.Array.get(0) - ->Belt.Option.getWithDefault(""), + ->Option.getOr(""), merchantId: merchantId.contents, - browserName: arrayOfNameAndVersion->Belt.Array.get(0)->Belt.Option.getWithDefault("Others"), - browserVersion: arrayOfNameAndVersion->Belt.Array.get(1)->Belt.Option.getWithDefault("0"), + browserName: arrayOfNameAndVersion->Belt.Array.get(0)->Option.getOr("Others"), + browserVersion: arrayOfNameAndVersion->Belt.Array.get(1)->Option.getOr("0"), platform: Window.platform, userAgent: Window.userAgent, appId: "", @@ -618,11 +617,10 @@ let make = ( (), ) => { let eventNameStr = eventName->eventNameToStrMapper - let firstEvent = events.contents->Js.Dict.get(eventNameStr)->Belt.Option.isNone + let firstEvent = events.contents->Js.Dict.get(eventNameStr)->Option.isNone let latency = calculateLatencyHook(~eventName, ~type_, ()) - let localTimestamp = timestamp->Belt.Option.getWithDefault(Js.Date.now()->Belt.Float.toString) - let localTimestampFloat = - localTimestamp->Belt.Float.fromString->Belt.Option.getWithDefault(Js.Date.now()) + let localTimestamp = timestamp->Option.getOr(Js.Date.now()->Belt.Float.toString) + let localTimestampFloat = localTimestamp->Belt.Float.fromString->Option.getOr(Js.Date.now()) { logType, timestamp: localTimestamp, @@ -640,10 +638,10 @@ let make = ( category: logCategory, paymentId: Js.String2.split(clientSecret.contents, "_secret_") ->Belt.Array.get(0) - ->Belt.Option.getWithDefault(""), + ->Option.getOr(""), merchantId: merchantId.contents, - browserName: arrayOfNameAndVersion->Belt.Array.get(0)->Belt.Option.getWithDefault("Others"), - browserVersion: arrayOfNameAndVersion->Belt.Array.get(1)->Belt.Option.getWithDefault("0"), + browserName: arrayOfNameAndVersion->Belt.Array.get(0)->Option.getOr("Others"), + browserVersion: arrayOfNameAndVersion->Belt.Array.get(1)->Option.getOr("0"), platform: Window.platform, userAgent: Window.userAgent, appId: "", @@ -670,11 +668,10 @@ let make = ( (), ) => { let eventNameStr = eventName->eventNameToStrMapper - let firstEvent = events.contents->Js.Dict.get(eventNameStr)->Belt.Option.isNone + let firstEvent = events.contents->Js.Dict.get(eventNameStr)->Option.isNone let latency = calculateLatencyHook(~eventName, ()) - let localTimestamp = timestamp->Belt.Option.getWithDefault(Js.Date.now()->Belt.Float.toString) - let localTimestampFloat = - localTimestamp->Belt.Float.fromString->Belt.Option.getWithDefault(Js.Date.now()) + let localTimestamp = timestamp->Option.getOr(Js.Date.now()->Belt.Float.toString) + let localTimestampFloat = localTimestamp->Belt.Float.fromString->Option.getOr(Js.Date.now()) { logType, timestamp: localTimestamp, @@ -686,10 +683,10 @@ let make = ( category: logCategory, paymentId: Js.String2.split(clientSecret.contents, "_secret_") ->Belt.Array.get(0) - ->Belt.Option.getWithDefault(""), + ->Option.getOr(""), merchantId: merchantId.contents, - browserName: arrayOfNameAndVersion->Belt.Array.get(0)->Belt.Option.getWithDefault("Others"), - browserVersion: arrayOfNameAndVersion->Belt.Array.get(1)->Belt.Option.getWithDefault("0"), + browserName: arrayOfNameAndVersion->Belt.Array.get(0)->Option.getOr("Others"), + browserVersion: arrayOfNameAndVersion->Belt.Array.get(1)->Option.getOr("0"), platform: Window.platform, userAgent: Window.userAgent, appId: "", @@ -708,7 +705,7 @@ let make = ( let setLogInitiated = () => { let eventName: eventName = LOG_INITIATED let eventNameStr = eventName->eventNameToStrMapper - let firstEvent = events.contents->Js.Dict.get(eventNameStr)->Belt.Option.isNone + let firstEvent = events.contents->Js.Dict.get(eventNameStr)->Option.isNone let latency = calculateLatencyHook(~eventName, ()) { logType: INFO, @@ -722,10 +719,10 @@ let make = ( internalMetadata: "", paymentId: Js.String2.split(clientSecret.contents, "_secret_") ->Belt.Array.get(0) - ->Belt.Option.getWithDefault(""), + ->Option.getOr(""), merchantId: merchantId.contents, - browserName: arrayOfNameAndVersion->Belt.Array.get(0)->Belt.Option.getWithDefault("Others"), - browserVersion: arrayOfNameAndVersion->Belt.Array.get(1)->Belt.Option.getWithDefault("0"), + browserName: arrayOfNameAndVersion->Belt.Array.get(0)->Option.getOr("Others"), + browserVersion: arrayOfNameAndVersion->Belt.Array.get(1)->Option.getOr("0"), platform: Window.platform, userAgent: Window.userAgent, appId: "", From e944896501adb064fabba7828050e8f480369c08 Mon Sep 17 00:00:00 2001 From: Pritish Budhiraja <1805317@kiit.ac.in> Date: Thu, 7 Mar 2024 12:01:54 +0530 Subject: [PATCH 03/17] refactor: json module core changes --- src/BrowserSpec.res | 20 +- src/CardTheme.res | 14 +- src/Components/AddBankAccount.res | 4 +- src/Components/AddressPaymentInput.res | 4 +- src/Components/BillingNamePaymentInput.res | 2 +- src/Components/BlikCodePaymentInput.res | 2 +- src/Components/EmailPaymentInput.res | 2 +- src/Components/FullNamePaymentInput.res | 2 +- src/Components/FullScreenDivDriver.res | 2 +- src/Components/FullScreenPortal.res | 2 +- src/Components/InputField.res | 4 +- src/Components/Modal.res | 4 +- src/Components/PayNowButton.res | 4 +- src/Hooks/CommonHooks.res | 4 +- src/LoaderController.res | 46 +- src/NoTheme.res | 2 +- src/Payment.res | 8 +- src/PaymentElement.res | 4 +- src/Payments/ACHBankDebit.res | 2 +- src/Payments/ACHBankTransfer.res | 2 +- src/Payments/ApplePay.res | 28 +- src/Payments/ApplePay.resi | 2 +- src/Payments/ApplePayLazy.res | 2 +- src/Payments/BacsBankDebit.res | 2 +- src/Payments/BacsBankTransfer.res | 2 +- src/Payments/BankTransfersPopup.res | 14 +- src/Payments/BecsBankDebit.res | 2 +- src/Payments/Boleto.res | 2 +- src/Payments/CardPayment.res | 10 +- src/Payments/GPay.res | 40 +- src/Payments/GPay.resi | 2 +- src/Payments/GPayLazy.res | 2 +- src/Payments/KlarnaPayment.res | 2 +- src/Payments/KlarnaSDK.res | 14 +- src/Payments/PayPal.res | 2 +- src/Payments/PaymentMethodsRecord.res | 50 +- src/Payments/PaymentMethodsWrapper.res | 4 +- src/Payments/PaypalSDK.res | 10 +- src/Payments/PreMountLoader.res | 10 +- src/Payments/QRCodeDisplay.res | 16 +- src/Payments/SepaBankDebit.res | 2 +- src/Payments/SepaBankTransfer.res | 2 +- src/Payments/VoucherDisplay.res | 8 +- src/SingleLineCardPayment.res | 4 +- src/Types/ApplePayTypes.res | 12 +- src/Types/CardThemeType.res | 4 +- src/Types/ConfirmType.res | 2 +- src/Types/ElementType.res | 24 +- src/Types/GooglePayType.res | 52 +- src/Types/PaymentConfirmTypes.res | 20 +- src/Types/PaymentError.res | 2 +- src/Types/PaymentType.res | 54 +- src/Types/SessionsType.res | 26 +- src/Types/ThemeImporter.res | 2 +- src/Utilities/DynamicFieldsUtils.res | 12 +- src/Utilities/ErrorUtils.res | 2 +- src/Utilities/LoggerUtils.res | 26 +- src/Utilities/PaymentBody.res | 866 +++++++++++---------- src/Utilities/PaymentHelpers.res | 144 ++-- src/Utilities/RecoilAtoms.res | 2 +- src/Utilities/Utils.res | 139 ++-- src/Window.res | 4 +- src/orca-loader/Elements.res | 162 ++-- src/orca-loader/Hyper.res | 110 ++- src/orca-loader/HyperLoader.res | 2 +- src/orca-loader/LoaderPaymentElement.res | 38 +- src/orca-loader/OrcaUtils.res | 90 +-- src/orca-loader/Types.res | 47 +- src/orca-log-catcher/ErrorBoundary.res | 13 +- src/orca-log-catcher/OrcaLogger.res | 64 +- 70 files changed, 1169 insertions(+), 1116 deletions(-) diff --git a/src/BrowserSpec.res b/src/BrowserSpec.res index 455f1167..c745c23e 100644 --- a/src/BrowserSpec.res +++ b/src/BrowserSpec.res @@ -23,20 +23,20 @@ let broswerInfo = () => [ ( "browser_info", [ - ("user_agent", navigator.userAgent->Js.Json.string), + ("user_agent", navigator.userAgent->JSON.Encode.string), ( "accept_header", - "text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/webp,image\/apng,*\/*;q=0.8"->Js.Json.string, + "text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/webp,image\/apng,*\/*;q=0.8"->JSON.Encode.string, ), - ("language", navigator.language->Js.Json.string), - ("color_depth", screen.colorDepth->Belt.Int.toFloat->Js.Json.number), - ("screen_height", screen.height->Belt.Int.toFloat->Js.Json.number), - ("screen_width", screen.width->Belt.Int.toFloat->Js.Json.number), - ("time_zone", date.getTimezoneOffset(.)->Js.Json.number), - ("java_enabled", true->Js.Json.boolean), - ("java_script_enabled", true->Js.Json.boolean), + ("language", navigator.language->JSON.Encode.string), + ("color_depth", screen.colorDepth->Belt.Int.toFloat->JSON.Encode.float), + ("screen_height", screen.height->Belt.Int.toFloat->JSON.Encode.float), + ("screen_width", screen.width->Belt.Int.toFloat->JSON.Encode.float), + ("time_zone", date.getTimezoneOffset(.)->JSON.Encode.float), + ("java_enabled", true->JSON.Encode.bool), + ("java_script_enabled", true->JSON.Encode.bool), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] diff --git a/src/CardTheme.res b/src/CardTheme.res index dc1f400a..17eaced7 100644 --- a/src/CardTheme.res +++ b/src/CardTheme.res @@ -48,7 +48,7 @@ let defaultAppearance = { variables: DefaultTheme.default, componentType: "payment", labels: Above, - rules: Js.Dict.empty()->Js.Json.object_, + rules: Js.Dict.empty()->JSON.Encode.object, } let defaultFonts = { cssSrc: "", @@ -90,7 +90,7 @@ let defaultRecoilConfig: recoilConfig = { let getVariables = (str, dict, default, logger) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { let validKeys = [ "fontFamily", @@ -253,12 +253,12 @@ let getAppearance = ( str, dict, default: OrcaPaymentPage.CardThemeType.themeClass, - defaultRules: OrcaPaymentPage.CardThemeType.themeClass => Js.Json.t, + defaultRules: OrcaPaymentPage.CardThemeType.themeClass => JSON.t, logger, ) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { unknownKeysWarning(["theme", "variables", "rules", "labels"], json, "appearance", ~logger) @@ -285,9 +285,9 @@ let getAppearance = ( let getFonts = (str, dict, logger) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeArray) + ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) - ->Belt.Array.keepMap(Js.Json.decodeObject) + ->Belt.Array.keepMap(JSON.Decode.object) ->Js.Array2.map(json => { unknownKeysWarning(["cssSrc", "family", "src", "weight"], json, "fonts", ~logger) { @@ -301,7 +301,7 @@ let getFonts = (str, dict, logger) => { let itemToObjMapper = ( dict, default: OrcaPaymentPage.CardThemeType.themeClass, - defaultRules: OrcaPaymentPage.CardThemeType.themeClass => Js.Json.t, + defaultRules: OrcaPaymentPage.CardThemeType.themeClass => JSON.t, logger, ) => { unknownKeysWarning( diff --git a/src/Components/AddBankAccount.res b/src/Components/AddBankAccount.res index 3521b71b..a2de6aed 100644 --- a/src/Components/AddBankAccount.res +++ b/src/Components/AddBankAccount.res @@ -38,8 +38,8 @@ let make = (~modalData, ~setModalData) => { let openModal = () => { handlePostMessage([ - ("fullscreen", true->Js.Json.boolean), - ("iframeId", iframeId->Js.Json.string), + ("fullscreen", true->JSON.Encode.bool), + ("iframeId", iframeId->JSON.Encode.string), ]) }
Js.Promise.t = "import" @@ -167,7 +167,7 @@ let make = (~paymentType, ~className="") => { }, [country.value]) let submitCallback = React.useCallback6((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->Utils.getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit { if line1.value == "" { diff --git a/src/Components/BillingNamePaymentInput.res b/src/Components/BillingNamePaymentInput.res index 8f08abbe..9033fafd 100644 --- a/src/Components/BillingNamePaymentInput.res +++ b/src/Components/BillingNamePaymentInput.res @@ -38,7 +38,7 @@ let make = (~paymentType, ~customFieldName=None, ~requiredFields as optionalRequ let nameRef = React.useRef(Js.Nullable.null) let submitCallback = React.useCallback1((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit { if billingName.value == "" { diff --git a/src/Components/BlikCodePaymentInput.res b/src/Components/BlikCodePaymentInput.res index 0a44def5..84dc7e1e 100644 --- a/src/Components/BlikCodePaymentInput.res +++ b/src/Components/BlikCodePaymentInput.res @@ -41,7 +41,7 @@ let make = () => { }, [blikCode.isValid]) let submitCallback = React.useCallback1((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->Utils.getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit { if blikCode.value == "" { diff --git a/src/Components/EmailPaymentInput.res b/src/Components/EmailPaymentInput.res index c7d5cca4..af2d5e01 100644 --- a/src/Components/EmailPaymentInput.res +++ b/src/Components/EmailPaymentInput.res @@ -41,7 +41,7 @@ let make = (~paymentType) => { }, [email.isValid]) let submitCallback = React.useCallback1((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->Utils.getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit { if email.value == "" { diff --git a/src/Components/FullNamePaymentInput.res b/src/Components/FullNamePaymentInput.res index adea5cb7..73828def 100644 --- a/src/Components/FullNamePaymentInput.res +++ b/src/Components/FullNamePaymentInput.res @@ -36,7 +36,7 @@ let make = (~paymentType, ~customFieldName=None, ~optionalRequiredFields=None) = let nameRef = React.useRef(Js.Nullable.null) let submitCallback = React.useCallback1((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit { if fullName.value == "" { diff --git a/src/Components/FullScreenDivDriver.res b/src/Components/FullScreenDivDriver.res index 50e070fc..57e8c8f2 100644 --- a/src/Components/FullScreenDivDriver.res +++ b/src/Components/FullScreenDivDriver.res @@ -1,7 +1,7 @@ @react.component let make = () => { React.useEffect0(() => { - Utils.handlePostMessage([("driverMounted", true->Js.Json.boolean)]) + Utils.handlePostMessage([("driverMounted", true->JSON.Encode.bool)]) None })
diff --git a/src/Components/FullScreenPortal.res b/src/Components/FullScreenPortal.res index 52b40e21..f3ddc2b9 100644 --- a/src/Components/FullScreenPortal.res +++ b/src/Components/FullScreenPortal.res @@ -9,7 +9,7 @@ let make = (~children) => { React.useEffect(() => { let handle = (ev: Window.event) => { try { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let dict = json->getDictFromJson if dict->Js.Dict.get("fullScreenIframeMounted")->Option.isSome { diff --git a/src/Components/InputField.res b/src/Components/InputField.res index 578e004b..ea5da38b 100644 --- a/src/Components/InputField.res +++ b/src/Components/InputField.res @@ -107,8 +107,8 @@ let make = ( React.useEffect5(() => { Utils.handlePostMessage([ - ("id", iframeId->Js.Json.string), - ("concatedString", concatString->Js.Json.string), + ("id", iframeId->JSON.Encode.string), + ("concatedString", concatString->JSON.Encode.string), ]) None }, (isValid, setIsValid, value, onChange, onBlur)) diff --git a/src/Components/Modal.res b/src/Components/Modal.res index 61caca56..eb5ef0e5 100644 --- a/src/Components/Modal.res +++ b/src/Components/Modal.res @@ -1,7 +1,7 @@ let close = setOpenModal => { setOpenModal(_ => false) Js.Global.setTimeout(() => { - Utils.handlePostMessage([("fullscreen", false->Js.Json.boolean)]) + Utils.handlePostMessage([("fullscreen", false->JSON.Encode.bool)]) }, 450)->ignore } @@ -23,7 +23,7 @@ let make = ( | Some(fn) => fn() | None => () } - Utils.handlePostMessage([("fullscreen", false->Js.Json.boolean)]) + Utils.handlePostMessage([("fullscreen", false->JSON.Encode.bool)]) }, 450)->ignore } diff --git a/src/Components/PayNowButton.res b/src/Components/PayNowButton.res index aa5b8dda..edb3d7f6 100644 --- a/src/Components/PayNowButton.res +++ b/src/Components/PayNowButton.res @@ -1,6 +1,6 @@ -@send external postMessage: (Window.window, Js.Json.t, string) => unit = "postMessage" +@send external postMessage: (Window.window, JSON.t, string) => unit = "postMessage" -external eventToJson: ReactEvent.Mouse.t => Js.Json.t = "%identity" +external eventToJson: ReactEvent.Mouse.t => JSON.t = "%identity" module Loader = { @react.component diff --git a/src/Hooks/CommonHooks.res b/src/Hooks/CommonHooks.res index 10c27fdb..c39f5adf 100644 --- a/src/Hooks/CommonHooks.res +++ b/src/Hooks/CommonHooks.res @@ -67,8 +67,8 @@ let useScript = (src: string) => { let updateKeys = (dict, keyPair, setKeys) => { let (key, value) = keyPair - let valueStr = value->Js.Json.decodeString->Option.getOr("") - let valueBool = default => value->Js.Json.decodeBoolean->Option.getOr(default) + let valueStr = value->JSON.Decode.string->Option.getOr("") + let valueBool = default => value->JSON.Decode.bool->Option.getOr(default) if dict->Utils.getDictIsSome(key) { switch key { | "iframeId" => diff --git a/src/LoaderController.res b/src/LoaderController.res index cb1fb046..c6c85c69 100644 --- a/src/LoaderController.res +++ b/src/LoaderController.res @@ -122,8 +122,8 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { } React.useEffect0(() => { - handlePostMessage([("iframeMounted", true->Js.Json.boolean)]) - handlePostMessage([("applePayMounted", true->Js.Json.boolean)]) + handlePostMessage([("iframeMounted", true->JSON.Encode.bool)]) + handlePostMessage([("applePayMounted", true->JSON.Encode.bool)]) logger.setLogInitiated() let updatedState: PaymentType.loadType = switch paymentlist { | Loading => @@ -138,11 +138,7 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { logger.setLogInfo(~value="SemiLoaded", ~eventName=LOADER_CHANGED, ()) } | LoadError(x) => - logger.setLogError( - ~value="LoadError: " ++ x->Js.Json.stringify, - ~eventName=LOADER_CHANGED, - (), - ) + logger.setLogError(~value="LoadError: " ++ x->JSON.stringify, ~eventName=LOADER_CHANGED, ()) } Window.addEventListener("click", ev => handleOnClickPostMessage(~targetOrigin=keys.parentURL, ev) @@ -158,8 +154,8 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { React.useEffect1(() => { switch paymentlist { | SemiLoaded => () - | Loaded(_val) => handlePostMessage([("ready", true->Js.Json.boolean)]) - | _ => handlePostMessage([("ready", false->Js.Json.boolean)]) + | Loaded(_val) => handlePostMessage([("ready", true->JSON.Encode.bool)]) + | _ => handlePostMessage([("ready", false->JSON.Encode.bool)]) } None }, [paymentlist]) @@ -195,9 +191,9 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { open Promise let handleFun = (ev: Window.event) => { let json = try { - ev.data->Js.Json.parseExn + ev.data->JSON.parseExn } catch { - | _ => Js.Dict.empty()->Js.Json.object_ + | _ => Js.Dict.empty()->JSON.Encode.object } try { let dict = json->getDictFromJson @@ -205,13 +201,13 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { if ( dict ->Js.Dict.get("paymentElementCreate") - ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(false) ) { if ( dict ->Js.Dict.get("otherElements") - ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(false) ) { updateOptions(dict) @@ -267,11 +263,11 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { logger.setLogInfo(~value=Window.href, ~eventName=APP_RENDERED, ()) [ - ("iframeId", "no-element"->Js.Json.string), - ("publishableKey", ""->Js.Json.string), - ("parentURL", "*"->Js.Json.string), - ("sdkHandleConfirmPayment", false->Js.Json.boolean), - ("sdkHandleOneClickConfirmPayment", true->Js.Json.boolean), + ("iframeId", "no-element"->JSON.Encode.string), + ("publishableKey", ""->JSON.Encode.string), + ("parentURL", "*"->JSON.Encode.string), + ("sdkHandleConfirmPayment", false->JSON.Encode.bool), + ("sdkHandleOneClickConfirmPayment", true->JSON.Encode.bool), ]->Js.Array2.forEach(keyPair => { dict->CommonHooks.updateKeys(keyPair, setKeys) }) @@ -312,13 +308,13 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { | Some(val) => setKeys(.prev => { ...prev, - clientSecret: Some(val->Js.Json.decodeString->Option.getOr("")), + clientSecret: Some(val->JSON.Decode.string->Option.getOr("")), }) setConfig(.prev => { ...prev, config: { ...prev.config, - clientSecret: val->Js.Json.decodeString->Option.getOr(""), + clientSecret: val->JSON.Decode.string->Option.getOr(""), }, }) | None => () @@ -343,13 +339,13 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { } if dict->getDictIsSome("isReadyToPay") { setIsGooglePayReady(._ => - dict->getJsonObjectFromDict("isReadyToPay")->Js.Json.decodeBoolean->Option.getOr(false) + dict->getJsonObjectFromDict("isReadyToPay")->JSON.Decode.bool->Option.getOr(false) ) } if dict->getDictIsSome("paymentMethodList") { let list = dict->getJsonObjectFromDict("paymentMethodList") let updatedState: PaymentType.loadType = - list == Js.Dict.empty()->Js.Json.object_ + list == Js.Dict.empty()->JSON.Encode.object ? LoadError(list) : switch list->Utils.getDictFromJson->Js.Dict.get("error") { | Some(_) => LoadError(list) @@ -365,7 +361,7 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { | Loaded(_) => logger.setLogInfo(~value="Loaded", ~eventName=LOADER_CHANGED, ()) | LoadError(x) => logger.setLogError( - ~value="LoadError: " ++ x->Js.Json.stringify, + ~value="LoadError: " ++ x->JSON.stringify, ~eventName=LOADER_CHANGED, (), ) @@ -407,8 +403,8 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { React.useEffect2(() => { Utils.handlePostMessage([ - ("iframeHeight", (divH +. 1.0)->Js.Json.number), - ("iframeId", iframeId->Js.Json.string), + ("iframeHeight", (divH +. 1.0)->JSON.Encode.float), + ("iframeId", iframeId->JSON.Encode.string), ]) None }, (divH, iframeId)) diff --git a/src/NoTheme.res b/src/NoTheme.res index 7cfb7444..c78b8e14 100644 --- a/src/NoTheme.res +++ b/src/NoTheme.res @@ -41,7 +41,7 @@ let nakedValues = { spacingGridRow: "20px", } -let nakedValuesRules = _ => Js.Dict.empty()->Js.Json.object_ +let nakedValuesRules = _ => Js.Dict.empty()->JSON.Encode.object let default = nakedValues let defaultRules = nakedValuesRules diff --git a/src/Payment.res b/src/Payment.res index 44b3e081..ce743c76 100644 --- a/src/Payment.res +++ b/src/Payment.res @@ -229,7 +229,7 @@ let make = (~paymentMode, ~integrateError, ~logger) => { } let cardNetwork = { if cardBrand != "" { - [("card_network", cardNumber->CardUtils.getCardBrand->Js.Json.string)] + [("card_network", cardNumber->CardUtils.getCardBrand->JSON.Encode.string)] } else { [] } @@ -291,9 +291,9 @@ let make = (~paymentMode, ~integrateError, ~logger) => { React.useEffect0(() => { let handleFun = (ev: Window.event) => { let json = try { - ev.data->Js.Json.parseExn + ev.data->JSON.parseExn } catch { - | _ => Js.Dict.empty()->Js.Json.object_ + | _ => Js.Dict.empty()->JSON.Encode.object } let dict = json->Utils.getDictFromJson if dict->Js.Dict.get("doBlur")->Option.isSome { @@ -321,7 +321,7 @@ let make = (~paymentMode, ~integrateError, ~logger) => { React.useEffect6(() => { let handleDoSubmit = (ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let jsonDict = json->Utils.getDictFromJson let confirm = jsonDict->ConfirmType.itemToObjMapper if confirm.doSubmit { diff --git a/src/PaymentElement.res b/src/PaymentElement.res index 92d8ada5..7e555294 100644 --- a/src/PaymentElement.res +++ b/src/PaymentElement.res @@ -22,7 +22,7 @@ let make = ( let isGooglePayReady = Recoil.useRecoilValueFromAtom(isGooglePayReady) let methodslist = Recoil.useRecoilValueFromAtom(list) let paymentOrder = paymentMethodOrder->Utils.getOptionalArr->Utils.removeDuplicate - let (sessions, setSessions) = React.useState(_ => Js.Dict.empty()->Js.Json.object_) + let (sessions, setSessions) = React.useState(_ => Js.Dict.empty()->JSON.Encode.object) let (paymentOptions, setPaymentOptions) = React.useState(_ => []) let (walletOptions, setWalletOptions) = React.useState(_ => []) let {sdkHandleConfirmPayment} = Recoil.useRecoilValueFromAtom(keys) @@ -126,7 +126,7 @@ let make = ( cardsToRender(cardsContainerWidth) }, [cardsContainerWidth]) let submitCallback = React.useCallback1((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->Utils.getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit && selectedOption == "" { Utils.postFailedSubmitResponse( diff --git a/src/Payments/ACHBankDebit.res b/src/Payments/ACHBankDebit.res index ef1ca2d1..3f0ccd63 100644 --- a/src/Payments/ACHBankDebit.res +++ b/src/Payments/ACHBankDebit.res @@ -56,7 +56,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) }, (empty, complete)) let submitCallback = React.useCallback3((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->Utils.getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit { diff --git a/src/Payments/ACHBankTransfer.res b/src/Payments/ACHBankTransfer.res index 1753c213..f26ced4b 100644 --- a/src/Payments/ACHBankTransfer.res +++ b/src/Payments/ACHBankTransfer.res @@ -24,7 +24,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) }, [complete]) let submitCallback = React.useCallback1((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit { if complete { diff --git a/src/Payments/ApplePay.res b/src/Payments/ApplePay.res index 09a18a76..04860e23 100644 --- a/src/Payments/ApplePay.res +++ b/src/Payments/ApplePay.res @@ -1,7 +1,7 @@ open Utils @react.component let make = ( - ~sessionObj: option, + ~sessionObj: option, ~list: PaymentMethodsRecord.list, ~paymentType: option, ~walletOptions: array, @@ -67,7 +67,7 @@ let make = ( let requiredFieldsBodyArr = bodyArr ->Js.Dict.fromArray - ->Js.Json.object_ + ->JSON.Encode.object ->OrcaUtils.flattenObject(true) ->OrcaUtils.mergeTwoFlattenedJsonDicts(requiredFieldsBody) ->OrcaUtils.getArrayOfTupleFromDict @@ -240,17 +240,17 @@ let make = ( open Promise OrcaUtils.makeOneClickHandlerPromise(sdkHandleOneClickConfirmPayment) ->then(result => { - let result = result->Js.Json.decodeBoolean->Option.getOr(false) + let result = result->JSON.Decode.bool->Option.getOr(false) if result { if isInvokeSDKFlow { let isDelayedSessionToken = sessionObj - ->Option.getOr(Js.Json.null) - ->Js.Json.decodeObject + ->Option.getOr(JSON.Encode.null) + ->JSON.Decode.object ->Option.getOr(Js.Dict.empty()) ->Js.Dict.get("delayed_session_token") - ->Option.getOr(Js.Json.null) - ->Js.Json.decodeBoolean + ->Option.getOr(JSON.Encode.null) + ->JSON.Decode.bool ->Option.getOr(false) if isDelayedSessionToken { @@ -258,7 +258,7 @@ let make = ( let bodyDict = PaymentBody.applePayThirdPartySdkBody(~connectors) processPayment(bodyDict) } else { - let message = [("applePayButtonClicked", true->Js.Json.boolean)] + let message = [("applePayButtonClicked", true->JSON.Encode.bool)] Utils.handlePostMessage(message) } } else { @@ -276,9 +276,9 @@ let make = ( React.useEffect3(() => { let handleApplePayMessages = (ev: Window.event) => { let json = try { - ev.data->Js.Json.parseExn + ev.data->JSON.parseExn } catch { - | _ => Js.Dict.empty()->Js.Json.object_ + | _ => Js.Dict.empty()->JSON.Encode.object } try { @@ -287,7 +287,7 @@ let make = ( let token = dict ->Js.Dict.get("applePayProcessPayment") - ->Option.getOr(Js.Dict.empty()->Js.Json.object_) + ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) let bodyDict = PaymentBody.applePayBody(~token, ~connectors) processPayment(bodyDict) } else if dict->Js.Dict.get("showApplePayButton")->Option.isSome { @@ -305,7 +305,7 @@ let make = ( Window.addEventListener("message", handleApplePayMessages) Some( () => { - Utils.handlePostMessage([("applePaySessionAbort", true->Js.Json.boolean)]) + Utils.handlePostMessage([("applePaySessionAbort", true->JSON.Encode.bool)]) Window.removeEventListener("message", handleApplePayMessages) }, ) @@ -329,12 +329,12 @@ let make = ( let submitCallback = React.useCallback((ev: Window.event) => { if !isWallet { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit && areRequiredFieldsValid && !areRequiredFieldsEmpty { options.readOnly ? () - : handlePostMessage([("applePayButtonClicked", true->Js.Json.boolean)]) + : handlePostMessage([("applePayButtonClicked", true->JSON.Encode.bool)]) } else if areRequiredFieldsEmpty { postFailedSubmitResponse( ~errortype="validation_error", diff --git a/src/Payments/ApplePay.resi b/src/Payments/ApplePay.resi index 875fc52e..4bfdd53c 100644 --- a/src/Payments/ApplePay.resi +++ b/src/Payments/ApplePay.resi @@ -1,6 +1,6 @@ @react.component let default: ( - ~sessionObj: option, + ~sessionObj: option, ~list: PaymentMethodsRecord.list, ~paymentType: option, ~walletOptions: array, diff --git a/src/Payments/ApplePayLazy.res b/src/Payments/ApplePayLazy.res index df921bd0..6c4c3c18 100644 --- a/src/Payments/ApplePayLazy.res +++ b/src/Payments/ApplePayLazy.res @@ -1,7 +1,7 @@ open LazyUtils type props = { - sessionObj: option, + sessionObj: option, list: PaymentMethodsRecord.list, paymentType: CardThemeType.mode, walletOptions: array, diff --git a/src/Payments/BacsBankDebit.res b/src/Payments/BacsBankDebit.res index 9f3a5dc6..06287700 100644 --- a/src/Payments/BacsBankDebit.res +++ b/src/Payments/BacsBankDebit.res @@ -75,7 +75,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) }, [complete]) let submitCallback = React.useCallback((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->Utils.getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit { diff --git a/src/Payments/BacsBankTransfer.res b/src/Payments/BacsBankTransfer.res index 46e11ad0..66787c5e 100644 --- a/src/Payments/BacsBankTransfer.res +++ b/src/Payments/BacsBankTransfer.res @@ -29,7 +29,7 @@ let default = (props: props) => { }, [complete]) let submitCallback = React.useCallback1((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit { if complete { diff --git a/src/Payments/BankTransfersPopup.res b/src/Payments/BankTransfersPopup.res index 24a98c52..a505280e 100644 --- a/src/Payments/BankTransfersPopup.res +++ b/src/Payments/BankTransfersPopup.res @@ -2,8 +2,8 @@ open Utils let getKeyValue = (json, str) => { json ->Js.Dict.get(str) - ->Option.getOr(Js.Dict.empty()->Js.Json.object_) - ->Js.Json.decodeString + ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + ->JSON.Decode.string ->Option.getOr("") } @@ -11,7 +11,7 @@ let getKeyValue = (json, str) => { let make = (~transferType) => { let (keys, setKeys) = React.useState(_ => []) let (json, setJson) = React.useState(_ => Js.Dict.empty()) - let (postData, setPostData) = React.useState(_ => Js.Dict.empty()->Js.Json.object_) + let (postData, setPostData) = React.useState(_ => Js.Dict.empty()->JSON.Encode.object) let (return_url, setReturnUrl) = React.useState(_ => "") let (responseType, title) = switch transferType { | "achBankTransfer" => ("ach_credit_transfer", "ACH") @@ -44,13 +44,13 @@ let make = (~transferType) => { keys ->Js.Array2.map(item => `${item->snakeToTitleCase} : ${getKeyValue(json, item)}`) ->Js.Array2.joinWith(`\n`) - handlePostMessage([("copy", true->Js.Json.boolean), ("copyDetails", text->Js.Json.string)]) + handlePostMessage([("copy", true->JSON.Encode.bool), ("copyDetails", text->JSON.Encode.string)]) setIsCopied(_ => true) } React.useEffect0(() => { - handlePostMessage([("iframeMountedCallback", true->Js.Json.boolean)]) + handlePostMessage([("iframeMountedCallback", true->JSON.Encode.bool)]) let handle = (ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let dict = json->Utils.getDictFromJson if dict->Js.Dict.get("fullScreenIframeMounted")->Option.isSome { let metadata = dict->getJsonObjectFromDict("metadata") @@ -59,7 +59,7 @@ let make = (~transferType) => { ->getJsonObjectFromDict("metadata") ->getDictFromJson ->Js.Dict.get(responseType) - ->Option.getOr(Js.Dict.empty()->Js.Json.object_) + ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) ->getDictFromJson setKeys(_ => dictMetadata->Js.Dict.keys) setJson(_ => dictMetadata) diff --git a/src/Payments/BecsBankDebit.res b/src/Payments/BecsBankDebit.res index 650338da..ab964e7f 100644 --- a/src/Payments/BecsBankDebit.res +++ b/src/Payments/BecsBankDebit.res @@ -55,7 +55,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) }, [complete]) let submitCallback = React.useCallback3((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->Utils.getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit { if complete { diff --git a/src/Payments/Boleto.res b/src/Payments/Boleto.res index c86b551f..b8304fd2 100644 --- a/src/Payments/Boleto.res +++ b/src/Payments/Boleto.res @@ -55,7 +55,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) }, [complete]) let submitCallback = React.useCallback1((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->Utils.getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit { diff --git a/src/Payments/CardPayment.res b/src/Payments/CardPayment.res index 986cc3a7..051645bb 100644 --- a/src/Payments/CardPayment.res +++ b/src/Payments/CardPayment.res @@ -158,16 +158,16 @@ let make = ( ) let submitCallback = React.useCallback5((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->getDictFromJson->ConfirmType.itemToObjMapper let (month, year) = CardUtils.getExpiryDates(cardExpiry) let (token, customerId) = paymentToken let savedCardBody = PaymentBody.savedCardBody(~paymentToken=token, ~customerId, ~cvcNumber) - let onSessionBody = [("setup_future_usage", "on_session"->Js.Json.string)] + let onSessionBody = [("setup_future_usage", "on_session"->JSON.Encode.string)] let cardNetwork = { if cardBrand != "" { - [("card_network", cardBrand->Js.Json.string)] + [("card_network", cardBrand->JSON.Encode.string)] } else { [] } @@ -195,7 +195,7 @@ let make = ( ~bodyArr={ (isBancontact ? banContactBody : cardBody) ->Js.Dict.fromArray - ->Js.Json.object_ + ->JSON.Encode.object ->OrcaUtils.flattenObject(true) ->OrcaUtils.mergeTwoFlattenedJsonDicts(requiredFieldsBody) ->OrcaUtils.getArrayOfTupleFromDict @@ -208,7 +208,7 @@ let make = ( intent( ~bodyArr=savedCardBody ->Js.Dict.fromArray - ->Js.Json.object_ + ->JSON.Encode.object ->OrcaUtils.flattenObject(true) ->OrcaUtils.mergeTwoFlattenedJsonDicts(requiredFieldsBody) ->OrcaUtils.getArrayOfTupleFromDict, diff --git a/src/Payments/GPay.res b/src/Payments/GPay.res index 8465b107..f40d146e 100644 --- a/src/Payments/GPay.res +++ b/src/Payments/GPay.res @@ -7,7 +7,7 @@ open GooglePayType let make = ( ~sessionObj: option, ~list: PaymentMethodsRecord.list, - ~thirdPartySessionObj: option, + ~thirdPartySessionObj: option, ~paymentType: option, ~walletOptions: array, ) => { @@ -58,13 +58,13 @@ let make = ( let isDelayedSessionToken = React.useMemo1(() => { thirdPartySessionObj - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.flatMap(x => x->Js.Dict.get("delayed_session_token")) - ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(false) }, [thirdPartySessionObj]) - let processPayment = (body: array<(string, Js.Json.t)>) => { + let processPayment = (body: array<(string, JSON.t)>) => { intent( ~bodyArr=body, ~confirmParam={ @@ -79,9 +79,9 @@ let make = ( React.useEffect1(() => { let handle = (ev: Window.event) => { let json = try { - ev.data->Js.Json.parseExn + ev.data->JSON.parseExn } catch { - | _ => Js.Dict.empty()->Js.Json.object_ + | _ => Js.Dict.empty()->JSON.Encode.object } let dict = json->Utils.getDictFromJson if dict->Js.Dict.get("gpayResponse")->Option.isSome { @@ -90,7 +90,7 @@ let make = ( let body = { PaymentBody.gpayBody(~payObj=obj, ~connectors) ->Js.Dict.fromArray - ->Js.Json.object_ + ->JSON.Encode.object ->OrcaUtils.flattenObject(true) ->OrcaUtils.mergeTwoFlattenedJsonDicts(requiredFieldsBody) ->OrcaUtils.getArrayOfTupleFromDict @@ -98,7 +98,7 @@ let make = ( processPayment(body) } if dict->Js.Dict.get("gpayError")->Option.isSome { - Utils.handlePostMessage([("fullscreen", false->Js.Json.boolean)]) + Utils.handlePostMessage([("fullscreen", false->JSON.Encode.bool)]) if !isWallet { postFailedSubmitResponse(~errortype="server_error", ~message="Something went wrong") } @@ -139,7 +139,7 @@ let make = ( ) open Promise OrcaUtils.makeOneClickHandlerPromise(sdkHandleOneClickConfirmPayment)->then(result => { - let result = result->Js.Json.decodeBoolean->Option.getOr(false) + let result = result->JSON.Decode.bool->Option.getOr(false) if result { if isInvokeSDKFlow { if isDelayedSessionToken { @@ -147,11 +147,11 @@ let make = ( processPayment(bodyDict) } else { handlePostMessage([ - ("fullscreen", true->Js.Json.boolean), - ("param", "paymentloader"->Js.Json.string), - ("iframeId", iframeId->Js.Json.string), + ("fullscreen", true->JSON.Encode.bool), + ("param", "paymentloader"->JSON.Encode.string), + ("iframeId", iframeId->JSON.Encode.string), ]) - options.readOnly ? () : handlePostMessage([("GpayClicked", true->Js.Json.boolean)]) + options.readOnly ? () : handlePostMessage([("GpayClicked", true->JSON.Encode.bool)]) } } else { let bodyDict = PaymentBody.gpayRedirectBody(~connectors) @@ -205,9 +205,9 @@ let make = ( React.useEffect0(() => { let handleGooglePayMessages = (ev: Window.event) => { let json = try { - ev.data->Js.Json.parseExn + ev.data->JSON.parseExn } catch { - | _ => Js.Dict.empty()->Js.Json.object_ + | _ => Js.Dict.empty()->JSON.Encode.object } let dict = json->Utils.getDictFromJson try { @@ -241,15 +241,15 @@ let make = ( let submitCallback = React.useCallback((ev: Window.event) => { if !isWallet { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit && areRequiredFieldsValid && !areRequiredFieldsEmpty { handlePostMessage([ - ("fullscreen", true->Js.Json.boolean), - ("param", "paymentloader"->Js.Json.string), - ("iframeId", iframeId->Js.Json.string), + ("fullscreen", true->JSON.Encode.bool), + ("param", "paymentloader"->JSON.Encode.string), + ("iframeId", iframeId->JSON.Encode.string), ]) - options.readOnly ? () : handlePostMessage([("GpayClicked", true->Js.Json.boolean)]) + options.readOnly ? () : handlePostMessage([("GpayClicked", true->JSON.Encode.bool)]) } else if areRequiredFieldsEmpty { postFailedSubmitResponse( ~errortype="validation_error", diff --git a/src/Payments/GPay.resi b/src/Payments/GPay.resi index a7a58658..304c446b 100644 --- a/src/Payments/GPay.resi +++ b/src/Payments/GPay.resi @@ -2,7 +2,7 @@ let default: ( ~sessionObj: option, ~list: PaymentMethodsRecord.list, - ~thirdPartySessionObj: option, + ~thirdPartySessionObj: option, ~paymentType: option, ~walletOptions: array, ) => React.element diff --git a/src/Payments/GPayLazy.res b/src/Payments/GPayLazy.res index 28dc601f..6c0fe3d2 100644 --- a/src/Payments/GPayLazy.res +++ b/src/Payments/GPayLazy.res @@ -3,7 +3,7 @@ open LazyUtils type props = { sessionObj: option, list: PaymentMethodsRecord.list, - thirdPartySessionObj: option, + thirdPartySessionObj: option, paymentType: CardThemeType.mode, walletOptions: array, } diff --git a/src/Payments/KlarnaPayment.res b/src/Payments/KlarnaPayment.res index 66d1fa48..bade1fa1 100644 --- a/src/Payments/KlarnaPayment.res +++ b/src/Payments/KlarnaPayment.res @@ -40,7 +40,7 @@ let make = (~paymentType, ~countryProps, ~list: PaymentMethodsRecord.list) => { }, [complete]) let submitCallback = React.useCallback3((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->Utils.getDictFromJson->ConfirmType.itemToObjMapper let (connectors, _) = list->PaymentUtils.getConnectors(PayLater(Klarna(Redirect))) let body = PaymentBody.klarnaRedirectionBody( diff --git a/src/Payments/KlarnaSDK.res b/src/Payments/KlarnaSDK.res index 9d545ec3..bdafc22d 100644 --- a/src/Payments/KlarnaSDK.res +++ b/src/Payments/KlarnaSDK.res @@ -15,7 +15,7 @@ type res = { type some = { init: (. token) => unit, load: (. loadType, res => unit) => unit, - authorize: (. loadType, Js.Json.t, res => unit) => unit, + authorize: (. loadType, JSON.t, res => unit) => unit, loadPaymentReview: (. loadType, res => unit) => unit, } @@ -30,7 +30,7 @@ let make = (~sessionObj: SessionsType.token, ~list: PaymentMethodsRecord.list) = let status = CommonHooks.useScript("https://x.klarnacdn.net/kp/lib/v1/api.js") // Klarna SDK script let handleCloseLoader = () => { - Utils.handlePostMessage([("fullscreen", false->Js.Json.boolean)]) + Utils.handlePostMessage([("fullscreen", false->JSON.Encode.bool)]) Utils.postFailedSubmitResponse( ~errortype="confirm_payment_failed", ~message="An unknown error has occurred", @@ -38,14 +38,14 @@ let make = (~sessionObj: SessionsType.token, ~list: PaymentMethodsRecord.list) = } let submitCallback = React.useCallback((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->Utils.getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit { Utils.handlePostMessage([ - ("fullscreen", true->Js.Json.boolean), - ("param", "paymentloader"->Js.Json.string), - ("iframeId", iframeId->Js.Json.string), + ("fullscreen", true->JSON.Encode.bool), + ("param", "paymentloader"->JSON.Encode.string), + ("iframeId", iframeId->JSON.Encode.string), ]) klarnaInit.authorize(. { @@ -53,7 +53,7 @@ let make = (~sessionObj: SessionsType.token, ~list: PaymentMethodsRecord.list) = color_text: None, payment_method_category: Some("klarna"), }, - Js.Dict.empty()->Js.Json.object_, + Js.Dict.empty()->JSON.Encode.object, (res: res) => { let (connectors, _) = list->PaymentUtils.getConnectors(PayLater(Klarna(SDK))) let body = PaymentBody.klarnaSDKbody(~token=res.authorization_token, ~connectors) diff --git a/src/Payments/PayPal.res b/src/Payments/PayPal.res index 677717b9..a5468264 100644 --- a/src/Payments/PayPal.res +++ b/src/Payments/PayPal.res @@ -41,7 +41,7 @@ let make = (~list: PaymentMethodsRecord.list) => { open Promise OrcaUtils.makeOneClickHandlerPromise(sdkHandleOneClickConfirmPayment) ->then(result => { - let result = result->Js.Json.decodeBoolean->Option.getOr(false) + let result = result->JSON.Decode.bool->Option.getOr(false) if result { let (connectors, _) = list->PaymentUtils.getConnectors(Wallets(Paypal(Redirect))) let body = PaymentBody.paypalRedirectionBody(~connectors) diff --git a/src/Payments/PaymentMethodsRecord.res b/src/Payments/PaymentMethodsRecord.res index 65a4d4c7..4e70fa5e 100644 --- a/src/Payments/PaymentMethodsRecord.res +++ b/src/Payments/PaymentMethodsRecord.res @@ -552,18 +552,16 @@ let getFieldType = (dict, isBancontact) => { let fieldClass = dict ->Js.Dict.get("field_type") - ->Option.getOr(Js.Dict.empty()->Js.Json.object_) - ->Js.Json.classify + ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + ->JSON.Classify.classify switch fieldClass { - | JSONFalse - | JSONTrue - | JSONNull => + | Bool(_) + | Null => None - | JSONNumber(_val) => None - | JSONArray(_arr) => None - | JSONString(val) => val->getPaymentMethodsFieldTypeFromString(isBancontact) - - | JSONObject(dict) => dict->getPaymentMethodsFieldTypeFromDict + | Number(_val) => None + | Array(_arr) => None + | String(val) => val->getPaymentMethodsFieldTypeFromString(isBancontact) + | Object(dict) => dict->getPaymentMethodsFieldTypeFromDict } } @@ -774,9 +772,9 @@ let getPaymentExperienceType = str => { let getPaymentExperience = (dict, str) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeArray) + ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) - ->Belt.Array.keepMap(Js.Json.decodeObject) + ->Belt.Array.keepMap(JSON.Decode.object) ->Js.Array2.map(json => { { payment_experience_type: getString( @@ -793,13 +791,13 @@ let getSurchargeDetails = dict => { let surchargDetails = dict ->Js.Dict.get("surcharge_details") - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.getOr(Js.Dict.empty()) let displayTotalSurchargeAmount = surchargDetails ->Js.Dict.get("display_total_surcharge_amount") - ->Option.flatMap(Js.Json.decodeNumber) + ->Option.flatMap(JSON.Decode.float) ->Option.getOr(0.0) if displayTotalSurchargeAmount !== 0.0 { @@ -814,9 +812,9 @@ let getSurchargeDetails = dict => { let getCardNetworks = (dict, str) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeArray) + ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) - ->Belt.Array.keepMap(Js.Json.decodeObject) + ->Belt.Array.keepMap(JSON.Decode.object) ->Js.Array2.map(json => { { card_network: getString(json, "card_network", "")->CardUtils.cardType, @@ -829,9 +827,9 @@ let getCardNetworks = (dict, str) => { let getBankNames = (dict, str) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeArray) + ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) - ->Belt.Array.keepMap(Js.Json.decodeObject) + ->Belt.Array.keepMap(JSON.Decode.object) ->Js.Array2.map(json => { getStrArray(json, "bank_name") }) @@ -844,14 +842,14 @@ let getBankNames = (dict, str) => { let getAchConnectors = (dict, str) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.getOr(Js.Dict.empty()) ->getStrArray("elligible_connectors") } let getDynamicFieldsFromJsonDict = (dict, isBancontact) => { let requiredFields = - Utils.getJsonFromDict(dict, "required_fields", Js.Json.null) + Utils.getJsonFromDict(dict, "required_fields", JSON.Encode.null) ->Utils.getDictFromJson ->Js.Dict.values @@ -869,9 +867,9 @@ let getDynamicFieldsFromJsonDict = (dict, isBancontact) => { let getPaymentMethodTypes = (dict, str) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeArray) + ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) - ->Belt.Array.keepMap(Js.Json.decodeObject) + ->Belt.Array.keepMap(JSON.Decode.object) ->Js.Array2.map(jsonDict => { let paymentMethodType = getString(jsonDict, "payment_method_type", "") { @@ -892,9 +890,9 @@ let getPaymentMethodTypes = (dict, str) => { let getMethodsArr = (dict, str) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeArray) + ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) - ->Belt.Array.keepMap(Js.Json.decodeObject) + ->Belt.Array.keepMap(JSON.Decode.object) ->Js.Array2.map(json => { { payment_method: getString(json, "payment_method", ""), @@ -906,7 +904,7 @@ let getMethodsArr = (dict, str) => { let getOptionalMandateType = (dict, str) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { amount: getInt(json, "amount", 0), @@ -918,7 +916,7 @@ let getOptionalMandateType = (dict, str) => { let getMandate = (dict, str) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { single_use: getOptionalMandateType(json, "single_use"), diff --git a/src/Payments/PaymentMethodsWrapper.res b/src/Payments/PaymentMethodsWrapper.res index 8d7013ca..2a63c3a3 100644 --- a/src/Payments/PaymentMethodsWrapper.res +++ b/src/Payments/PaymentMethodsWrapper.res @@ -63,7 +63,7 @@ let make = ( }, (empty, complete)) let submitCallback = React.useCallback7((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit { if complete { @@ -91,7 +91,7 @@ let make = ( ~currency, ) ->Js.Dict.fromArray - ->Js.Json.object_ + ->JSON.Encode.object ->OrcaUtils.flattenObject(true) ->OrcaUtils.mergeTwoFlattenedJsonDicts(requiredFieldsBody) ->OrcaUtils.getArrayOfTupleFromDict, diff --git a/src/Payments/PaypalSDK.res b/src/Payments/PaypalSDK.res index cbc56f7a..e84ed22d 100644 --- a/src/Payments/PaypalSDK.res +++ b/src/Payments/PaypalSDK.res @@ -36,7 +36,7 @@ let make = (~sessionObj: SessionsType.token, ~list: PaymentMethodsRecord.list) = | _ => 48 }, } - let handleCloseLoader = () => Utils.handlePostMessage([("fullscreen", false->Js.Json.boolean)]) + let handleCloseLoader = () => Utils.handlePostMessage([("fullscreen", false->JSON.Encode.bool)]) let loadPaypalSdk = () => { loggerState.setLogInfo( ~value="Paypal SDK Button Clicked", @@ -47,7 +47,7 @@ let make = (~sessionObj: SessionsType.token, ~list: PaymentMethodsRecord.list) = open Promise OrcaUtils.makeOneClickHandlerPromise(sdkHandleOneClickConfirmPayment) ->then(result => { - let result = result->Js.Json.decodeBoolean->Option.getOr(false) + let result = result->JSON.Decode.bool->Option.getOr(false) if result { braintree.client.create(.{authorization: token}, (clientErr, clientInstance) => { if clientErr { @@ -71,9 +71,9 @@ let make = (~sessionObj: SessionsType.token, ~list: PaymentMethodsRecord.list) = createBillingAgreement: () => { //Paypal Clicked Utils.handlePostMessage([ - ("fullscreen", true->Js.Json.boolean), - ("param", "paymentloader"->Js.Json.string), - ("iframeId", iframeId->Js.Json.string), + ("fullscreen", true->JSON.Encode.bool), + ("param", "paymentloader"->JSON.Encode.string), + ("iframeId", iframeId->JSON.Encode.string), ]) options.readOnly ? () diff --git a/src/Payments/PreMountLoader.res b/src/Payments/PreMountLoader.res index 3c5c0525..6bc0a784 100644 --- a/src/Payments/PreMountLoader.res +++ b/src/Payments/PreMountLoader.res @@ -44,11 +44,11 @@ let make = (~sessionId as _, ~publishableKey as _, ~clientSecret as _, ~endpoint // // open Promise // // promise // // ->then(res => { - // // handlePostMessage([("response", res), ("data", key->Js.Json.string)]) + // // handlePostMessage([("response", res), ("data", key->JSON.Encode.string)]) // // resolve() // // }) // // ->catch(_err => { - // // handlePostMessage([("response", Js.Json.null), ("data", key->Js.Json.string)]) + // // handlePostMessage([("response", JSON.Encode.null), ("data", key->JSON.Encode.string)]) // // resolve() // // }) // // ->ignore @@ -57,9 +57,9 @@ let make = (~sessionId as _, ~publishableKey as _, ~clientSecret as _, ~endpoint // // React.useEffect0(() => { // // let handle = (ev: Window.event) => { // // let json = try { - // // ev.data->Js.Json.parseExn + // // ev.data->JSON.parseExn // // } catch { - // // | _ => Js.Json.null + // // | _ => JSON.Encode.null // // } // // let dict = json->Utils.getDictFromJson // // if dict->Js.Dict.get("sendPaymentMethodsResponse")->Option.isSome { @@ -71,7 +71,7 @@ let make = (~sessionId as _, ~publishableKey as _, ~clientSecret as _, ~endpoint // // } // // } // // Window.addEventListener("message", handle) - // // handlePostMessage([("preMountLoaderInitCallback", true->Js.Json.boolean)]) + // // handlePostMessage([("preMountLoaderInitCallback", true->JSON.Encode.bool)]) // // Some( // // () => { // // Window.removeEventListener("message", handle) diff --git a/src/Payments/QRCodeDisplay.res b/src/Payments/QRCodeDisplay.res index 46246a45..8d876549 100644 --- a/src/Payments/QRCodeDisplay.res +++ b/src/Payments/QRCodeDisplay.res @@ -2,8 +2,8 @@ open Utils let getKeyValue = (json, str) => { json ->Js.Dict.get(str) - ->Option.getOr(Js.Dict.empty()->Js.Json.object_) - ->Js.Json.decodeString + ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + ->JSON.Decode.string ->Option.getOr("") } @@ -19,13 +19,13 @@ let make = () => { let switchToCustomPod = Recoil.useRecoilValueFromAtom(RecoilAtoms.switchToCustomPod) React.useEffect0(() => { - handlePostMessage([("iframeMountedCallback", true->Js.Json.boolean)]) + handlePostMessage([("iframeMountedCallback", true->JSON.Encode.bool)]) let handle = (ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let dict = json->Utils.getDictFromJson if dict->Js.Dict.get("fullScreenIframeMounted")->Option.isSome { let metadata = dict->getJsonObjectFromDict("metadata") - let metaDataDict = metadata->Js.Json.decodeObject->Option.getOr(Js.Dict.empty()) + let metaDataDict = metadata->JSON.Decode.object->Option.getOr(Js.Dict.empty()) let qrData = metaDataDict->getString("qrData", "") setQrCode(_ => qrData) let paymentIntentId = metaDataDict->getString("paymentIntentId", "") @@ -33,7 +33,7 @@ let make = () => { let headersDict = metaDataDict ->getJsonObjectFromDict("headers") - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.getOr(Js.Dict.empty()) let headers = Js.Dict.empty() setReturnUrl(_ => metadata->getDictFromJson->getString("url", "")) @@ -41,7 +41,7 @@ let make = () => { ->Js.Dict.entries ->Js.Array2.forEach(entries => { let (x, val) = entries - Js.Dict.set(headers, x, val->Js.Json.decodeString->Option.getOr("")) + Js.Dict.set(headers, x, val->JSON.Decode.string->Option.getOr("")) }) let expiryTime = metaDataDict->getString("expiryTime", "")->Belt.Float.fromString->Option.getOr(0.0) @@ -91,7 +91,7 @@ let make = () => { ~switchToCustomPod, ) ->then(json => { - let dict = json->Js.Json.decodeObject->Option.getOr(Js.Dict.empty()) + let dict = json->JSON.Decode.object->Option.getOr(Js.Dict.empty()) let status = dict->getString("status", "") if status === "succeeded" { diff --git a/src/Payments/SepaBankDebit.res b/src/Payments/SepaBankDebit.res index e43acdad..1fbd941d 100644 --- a/src/Payments/SepaBankDebit.res +++ b/src/Payments/SepaBankDebit.res @@ -48,7 +48,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) }, [complete]) let submitCallback = React.useCallback3((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->Utils.getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit { diff --git a/src/Payments/SepaBankTransfer.res b/src/Payments/SepaBankTransfer.res index c4868e92..07523bd8 100644 --- a/src/Payments/SepaBankTransfer.res +++ b/src/Payments/SepaBankTransfer.res @@ -38,7 +38,7 @@ let make = ( }, [complete]) let submitCallback = React.useCallback3((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit { if complete { diff --git a/src/Payments/VoucherDisplay.res b/src/Payments/VoucherDisplay.res index c1e8f876..74665d16 100644 --- a/src/Payments/VoucherDisplay.res +++ b/src/Payments/VoucherDisplay.res @@ -8,7 +8,7 @@ let make = () => { let logger = Recoil.useRecoilValueFromAtom(RecoilAtoms.loggerAtom) let (downloadCounter, setDownloadCounter) = React.useState(_ => 0) let (paymentMethod, setPaymentMethod) = React.useState(_ => "") - let (paymentIntent, setPaymentIntent) = React.useState(_ => Js.Json.null) + let (paymentIntent, setPaymentIntent) = React.useState(_ => JSON.Encode.null) let (loader, setLoader) = React.useState(_ => true) let linkRef = React.useRef(Js.Nullable.null) @@ -21,13 +21,13 @@ let make = () => { }, [loader]) React.useEffect0(() => { - handlePostMessage([("iframeMountedCallback", true->Js.Json.boolean)]) + handlePostMessage([("iframeMountedCallback", true->JSON.Encode.bool)]) let handle = (ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let dict = json->Utils.getDictFromJson if dict->Js.Dict.get("fullScreenIframeMounted")->Option.isSome { let metadata = dict->getJsonObjectFromDict("metadata") - let metaDataDict = metadata->Js.Json.decodeObject->Option.getOr(Js.Dict.empty()) + let metaDataDict = metadata->JSON.Decode.object->Option.getOr(Js.Dict.empty()) setReturnUrl(_ => metaDataDict->getString("returnUrl", "")) setDownloadUrl(_ => metaDataDict->getString("voucherUrl", "")) setReference(_ => metaDataDict->getString("reference", "")) diff --git a/src/SingleLineCardPayment.res b/src/SingleLineCardPayment.res index 434dad6f..dba430a5 100644 --- a/src/SingleLineCardPayment.res +++ b/src/SingleLineCardPayment.res @@ -105,8 +105,8 @@ let make = ( React.useEffect1(() => { Utils.handlePostMessage([ - ("id", iframeId->Js.Json.string), - ("concatedString", concatString->Js.Json.string), + ("id", iframeId->JSON.Encode.string), + ("concatedString", concatString->JSON.Encode.string), ]) None }, [concatString]) diff --git a/src/Types/ApplePayTypes.res b/src/Types/ApplePayTypes.res index 21979354..08ccdd01 100644 --- a/src/Types/ApplePayTypes.res +++ b/src/Types/ApplePayTypes.res @@ -1,5 +1,5 @@ -type token = {paymentData: Js.Json.t} -type paymentResult = {token: Js.Json.t} +type token = {paymentData: JSON.t} +type paymentResult = {token: JSON.t} type event = {validationURL: string, payment: paymentResult} type innerSession type session = { @@ -8,9 +8,9 @@ type session = { mutable oncancel: unit => unit, canMakePayments: (. unit) => bool, mutable onvalidatemerchant: event => unit, - completeMerchantValidation: (. Js.Json.t) => unit, + completeMerchantValidation: (. JSON.t) => unit, mutable onpaymentauthorized: event => unit, - completePayment: (. Js.Json.t) => unit, + completePayment: (. JSON.t) => unit, \"STATUS_SUCCESS": string, \"STATUS_FAILURE": string, } @@ -21,7 +21,7 @@ type window = {\"ApplePaySession": applePaySession} @scope("window") @val external sessionForApplePay: Js.Nullable.t = "ApplePaySession" -@new external applePaySession: (int, Js.Json.t) => session = "ApplePaySession" +@new external applePaySession: (int, JSON.t) => session = "ApplePaySession" @deriving(abstract) type total = { @@ -41,7 +41,7 @@ type paymentRequestData = { @optional merchantIdentifier: string, } -let jsonToPaymentRequestDataType: Js.Dict.t => paymentRequestData = jsonDict => { +let jsonToPaymentRequestDataType: Js.Dict.t => paymentRequestData = jsonDict => { let clientTimeZone = CardUtils.dateTimeFormat(.).resolvedOptions(.).timeZone let clientCountry = Utils.getClientCountry(clientTimeZone) let defaultCountryCode = clientCountry.isoAlpha2 diff --git a/src/Types/CardThemeType.res b/src/Types/CardThemeType.res index 97505436..5159d8c1 100644 --- a/src/Types/CardThemeType.res +++ b/src/Types/CardThemeType.res @@ -1,5 +1,5 @@ type theme = Default | Brutal | Midnight | Soft | Charcoal | NONE -external toJson: 'a => Js.Json.t = "%identity" +external toJson: 'a => JSON.t = "%identity" @val external navigator: 'a = "navigator" type showLoader = Auto | Always | Never @@ -56,7 +56,7 @@ type appearance = { theme: theme, componentType: string, variables: themeClass, - rules: Js.Json.t, + rules: JSON.t, labels: label, } type fonts = { diff --git a/src/Types/ConfirmType.res b/src/Types/ConfirmType.res index 0b92c461..719f42c0 100644 --- a/src/Types/ConfirmType.res +++ b/src/Types/ConfirmType.res @@ -16,7 +16,7 @@ let defaultConfirm = { let getConfirmParams = (dict, str) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { return_url: getString(json, "return_url", ""), diff --git a/src/Types/ElementType.res b/src/Types/ElementType.res index 718aad97..ffb0eae0 100644 --- a/src/Types/ElementType.res +++ b/src/Types/ElementType.res @@ -40,10 +40,10 @@ type paymentRequestButtonStyle = { height: string, } type style = { - base: Js.Json.t, - complete: Js.Json.t, - empty: Js.Json.t, - invalid: Js.Json.t, + base: JSON.t, + complete: JSON.t, + empty: JSON.t, + invalid: JSON.t, paymentRequestButton: paymentRequestButtonStyle, } type options = { @@ -106,10 +106,10 @@ let defaultPaymentRequestButton = { height: "", } let defaultStyle = { - base: Js.Dict.empty()->Js.Json.object_, - complete: Js.Dict.empty()->Js.Json.object_, - empty: Js.Dict.empty()->Js.Json.object_, - invalid: Js.Dict.empty()->Js.Json.object_, + base: Js.Dict.empty()->JSON.Encode.object, + complete: Js.Dict.empty()->JSON.Encode.object, + empty: Js.Dict.empty()->JSON.Encode.object, + invalid: Js.Dict.empty()->JSON.Encode.object, paymentRequestButton: defaultPaymentRequestButton, } let defaultOptions = { @@ -125,7 +125,7 @@ let defaultOptions = { let getClasses = (str, dict, logger) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { base: getWarningString(json, "base", "OrcaElement", ~logger), @@ -147,7 +147,7 @@ let getClasses = (str, dict, logger) => { let rec getStyleObj = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { backgroundColor: getWarningString(json, "backgroundColor", "", ~logger), @@ -191,7 +191,7 @@ let getTheme = (str, key, logger) => { let getPaymentRequestButton = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { type_: getWarningString(json, "type", "", ~logger), @@ -208,7 +208,7 @@ let getPaymentRequestButton = (dict, str, logger) => { let getStyle = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { base: getJsonObjectFromDict(json, "base"), diff --git a/src/Types/GooglePayType.res b/src/Types/GooglePayType.res index 0be3e14a..b533dbaf 100644 --- a/src/Types/GooglePayType.res +++ b/src/Types/GooglePayType.res @@ -1,6 +1,6 @@ open Utils -@val @scope("Object") external assign: (Js.Json.t, Js.Json.t, Js.Json.t) => Js.Json.t = "assign" -external toSome: Js.Json.t => 'a = "%identity" +@val @scope("Object") external assign: (JSON.t, JSON.t, JSON.t) => JSON.t = "assign" +external toSome: JSON.t => 'a = "%identity" type transactionInfo = { countryCode: string, currencyCode: string, @@ -9,11 +9,11 @@ type transactionInfo = { } type merchantInfo = {merchantName: string} type paymentDataRequest = { - mutable allowedPaymentMethods: array, - mutable transactionInfo: Js.Json.t, - mutable merchantInfo: Js.Json.t, + mutable allowedPaymentMethods: array, + mutable transactionInfo: JSON.t, + mutable merchantInfo: JSON.t, } -@val @scope("Object") external assign2: (Js.Json.t, Js.Json.t) => paymentDataRequest = "assign" +@val @scope("Object") external assign2: (JSON.t, JSON.t) => paymentDataRequest = "assign" type element = { mutable innerHTML: string, appendChild: (. Dom.element) => unit, @@ -24,11 +24,11 @@ type document @val external document: document = "document" @send external getElementById: (document, string) => element = "getElementById" type client = { - isReadyToPay: (. Js.Json.t) => Js.Promise.t, - createButton: (. Js.Json.t) => Dom.element, - loadPaymentData: (. Js.Json.t) => Js.Promise.t, + isReadyToPay: (. JSON.t) => Js.Promise.t, + createButton: (. JSON.t) => Dom.element, + loadPaymentData: (. JSON.t) => Js.Promise.t, } -@new external google: Js.Json.t => client = "google.payments.api.PaymentsClient" +@new external google: JSON.t => client = "google.payments.api.PaymentsClient" let getLabel = (var: PaymentType.googlePayStyleType) => { switch var { | Default => "plain" @@ -60,8 +60,8 @@ type tokenizationSpecification = { type tokenizationData = {token: string} type paymentMethodData = { description: string, - info: Js.Json.t, - tokenizationData: Js.Json.t, + info: JSON.t, + tokenizationData: JSON.t, \"type": string, } @@ -71,15 +71,15 @@ let defaultTokenizationData = { } let defaultPaymentMethodData = { description: "", - info: Js.Dict.empty()->Js.Json.object_, - tokenizationData: Js.Dict.empty()->Js.Json.object_, + info: Js.Dict.empty()->JSON.Encode.object, + tokenizationData: Js.Dict.empty()->JSON.Encode.object, \"type": "", } let getTokenizationData = (str, dict) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { token: getString(json, "token", ""), @@ -90,12 +90,16 @@ let getTokenizationData = (str, dict) => { let getPaymentMethodData = (str, dict) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { description: getString(json, "description", ""), - tokenizationData: getJsonFromDict(json, "tokenizationData", Js.Dict.empty()->Js.Json.object_), - info: getJsonFromDict(json, "info", Js.Dict.empty()->Js.Json.object_), + tokenizationData: getJsonFromDict( + json, + "tokenizationData", + Js.Dict.empty()->JSON.Encode.object, + ), + info: getJsonFromDict(json, "info", Js.Dict.empty()->JSON.Encode.object), \"type": getString(json, "type", ""), } }) @@ -107,21 +111,21 @@ let itemToObjMapper = dict => { } } -let jsonToPaymentRequestDataType: ( - paymentDataRequest, - Js.Dict.t, -) => paymentDataRequest = (paymentRequest, jsonDict) => { +let jsonToPaymentRequestDataType: (paymentDataRequest, Js.Dict.t) => paymentDataRequest = ( + paymentRequest, + jsonDict, +) => { paymentRequest.allowedPaymentMethods = jsonDict ->Utils.getArray("allowed_payment_methods") ->Js.Array2.map(json => Utils.transformKeys(json, Utils.CamelCase)) paymentRequest.transactionInfo = jsonDict - ->Utils.getJsonFromDict("transaction_info", Js.Json.null) + ->Utils.getJsonFromDict("transaction_info", JSON.Encode.null) ->Utils.transformKeys(Utils.CamelCase) paymentRequest.merchantInfo = jsonDict - ->Utils.getJsonFromDict("merchant_info", Js.Json.null) + ->Utils.getJsonFromDict("merchant_info", JSON.Encode.null) ->Utils.transformKeys(Utils.CamelCase) paymentRequest diff --git a/src/Types/PaymentConfirmTypes.res b/src/Types/PaymentConfirmTypes.res index 7506cc46..1b5a1d59 100644 --- a/src/Types/PaymentConfirmTypes.res +++ b/src/Types/PaymentConfirmTypes.res @@ -36,8 +36,8 @@ type voucherDetails = { type nextAction = { redirectToUrl: string, type_: string, - bank_transfer_steps_and_charges_details: option, - session_token: option, + bank_transfer_steps_and_charges_details: option, + session_token: option, image_data_url: option, voucher_details: option, display_to_timestamp: option, @@ -79,7 +79,7 @@ let defaultIntent = { let getAchCreditTransfer = (dict, str) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { account_number: getString(json, "account_number", ""), @@ -93,7 +93,7 @@ let getAchCreditTransfer = (dict, str) => { let getBacsBankInstructions = (dict, str) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { account_holder_name: getString(json, "account_holder_name", ""), @@ -106,7 +106,7 @@ let getBacsBankInstructions = (dict, str) => { let getBankTransferDetails = (dict, str) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { ach_credit_transfer: getAchCreditTransfer(json, "ach_credit_transfer"), @@ -124,7 +124,7 @@ let getVoucherDetails = json => { let getNextAction = (dict, str) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { redirectToUrl: getString(json, "redirect_to_url", ""), @@ -134,22 +134,22 @@ let getNextAction = (dict, str) => { json, "bank_transfer_steps_and_charges_details", Js.Dict.empty(), - )->Js.Json.object_, + )->JSON.Encode.object, ), session_token: Some( - getJsonObjFromDict(json, "session_token", Js.Dict.empty())->Js.Json.object_, + getJsonObjFromDict(json, "session_token", Js.Dict.empty())->JSON.Encode.object, ), image_data_url: Some(json->getString("image_data_url", "")), display_to_timestamp: Some( json ->Js.Dict.get("display_to_timestamp") - ->Option.flatMap(Js.Json.decodeNumber) + ->Option.flatMap(JSON.Decode.float) ->Option.getOr(0.0), ), voucher_details: { json ->Js.Dict.get("voucher_details") - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => json->getVoucherDetails) }, } diff --git a/src/Types/PaymentError.res b/src/Types/PaymentError.res index ff67bb04..914b449f 100644 --- a/src/Types/PaymentError.res +++ b/src/Types/PaymentError.res @@ -13,7 +13,7 @@ let defaultError = { let getError = (dict, str) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { type_: getString(json, "type", ""), diff --git a/src/Types/PaymentType.res b/src/Types/PaymentType.res index e0e94d4c..8eee55ea 100644 --- a/src/Types/PaymentType.res +++ b/src/Types/PaymentType.res @@ -275,7 +275,7 @@ let getLayout = (str, logger) => { let getAddress = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { let countryNames = [] Country.country->Js.Array2.map(item => countryNames->Js.Array2.push(item.countryName))->ignore @@ -308,7 +308,7 @@ let getAddress = (dict, str, logger) => { let getBillingDetails = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { unknownKeysWarning( ["name", "email", "phone", "address"], @@ -329,7 +329,7 @@ let getBillingDetails = (dict, str, logger) => { let getDefaultValues = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { unknownKeysWarning(["billingDetails"], json, "options.defaultValues", ~logger) let defaultValues: defaultValues = { @@ -342,7 +342,7 @@ let getDefaultValues = (dict, str, logger) => { let getBusiness = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { unknownKeysWarning(["name"], json, "options.business", ~logger) { @@ -489,7 +489,7 @@ let getShowTerms: (string, string, 'a) => showTerms = (str, key, logger) => { let getShowAddress = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { let x: showAddress = { line1: getWarningString(json, "line1", "auto", ~logger)->getShowType( @@ -522,9 +522,9 @@ let getShowAddress = (dict, str, logger) => { ->Option.getOr(defaultshowAddress) } let getDeatils = (val, logger) => { - switch val->Js.Json.classify { - | JSONString(str) => JSONString(str) - | JSONObject(json) => + switch val->JSON.Classify.classify { + | String(str) => JSONString(str) + | Object(json) => JSONObject({ name: getWarningString(json, "name", "auto", ~logger)->getShowType( "options.fields.name", @@ -549,10 +549,10 @@ let getBilling = (dict, str, logger) => { ->Option.map(json => json->getDeatils(logger)) ->Option.getOr(defaultFields.billingDetails) } -let getFields: (Js.Dict.t, string, 'a) => fields = (dict, str, logger) => { +let getFields: (Js.Dict.t, string, 'a) => fields = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { let defaultFields: fields = { billingDetails: getBilling(json, "billingDetails", logger), @@ -562,9 +562,9 @@ let getFields: (Js.Dict.t, string, 'a) => fields = (dict, str, logger ->Option.getOr(defaultFields) } let getLayoutValues = (val, logger) => { - switch val->Js.Json.classify { - | JSONString(str) => StringLayout(str->getLayout(logger)) - | JSONObject(json) => + switch val->JSON.Classify.classify { + | String(str) => StringLayout(str->getLayout(logger)) + | Object(json) => ObjectLayout({ let layoutType = getWarningString(json, "type", "tabs", ~logger) unknownKeysWarning( @@ -587,7 +587,7 @@ let getLayoutValues = (val, logger) => { let getTerms = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { unknownKeysWarning( ["auBecsDebit", "bancontact", "card", "ideal", "sepaDebit", "sofort", "usBankAccount"], @@ -699,7 +699,7 @@ let getHeightArray = (val, logger) => { let getStyle = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { unknownKeysWarning(["type", "theme", "height"], json, "options.wallets.style", ~logger) let style = { @@ -714,7 +714,7 @@ let getStyle = (dict, str, logger) => { let getWallets = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { unknownKeysWarning( ["applePay", "googlePay", "style", "walletReturnUrl"], @@ -751,7 +751,7 @@ let getLayout = (dict, str, logger) => { let getCardDetails = (dict, str) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { scheme: Some(getString(json, "scheme", "")), @@ -769,24 +769,24 @@ let createCustomerObjArr = dict => { let customerDict = dict ->Js.Dict.get("customerPaymentMethods") - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.getOr(Js.Dict.empty()) let customerArr = customerDict ->Js.Dict.get("customer_payment_methods") - ->Option.flatMap(Js.Json.decodeArray) + ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) let isGuestCustomer = customerDict ->Js.Dict.get("is_guest_customer") - ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(false) let customerPaymentMethods = customerArr - ->Belt.Array.keepMap(Js.Json.decodeObject) + ->Belt.Array.keepMap(JSON.Decode.object) ->Js.Array2.map(json => { { paymentToken: getString(json, "payment_token", ""), @@ -800,12 +800,12 @@ let createCustomerObjArr = dict => { } let getCustomerMethods = (dict, str) => { - let customerArr = dict->Js.Dict.get(str)->Option.flatMap(Js.Json.decodeArray)->Option.getOr([]) + let customerArr = dict->Js.Dict.get(str)->Option.flatMap(JSON.Decode.array)->Option.getOr([]) if customerArr->Js.Array2.length !== 0 { let customerPaymentMethods = customerArr - ->Belt.Array.keepMap(Js.Json.decodeObject) + ->Belt.Array.keepMap(JSON.Decode.object) ->Js.Array2.map(json => { { paymentToken: getString(json, "payment_token", ""), @@ -824,9 +824,9 @@ let getCustomerMethods = (dict, str) => { let getCustomMethodNames = (dict, str) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeArray) + ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) - ->Belt.Array.keepMap(Js.Json.decodeObject) + ->Belt.Array.keepMap(JSON.Decode.object) ->Js.Array2.map(json => { paymentMethodName: getString(json, "paymentMethodName", ""), aliasName: getString(json, "aliasName", ""), @@ -836,7 +836,7 @@ let getCustomMethodNames = (dict, str) => { let getBillingAddress = (dict, str, logger) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { unknownKeysWarning( ["isUseBillingAddress", "usePrefilledValues"], @@ -901,7 +901,7 @@ let itemToObjMapper = (dict, logger) => { } } -type loadType = Loading | Loaded(Js.Json.t) | SemiLoaded | LoadError(Js.Json.t) +type loadType = Loading | Loaded(JSON.t) | SemiLoaded | LoadError(JSON.t) let getIsAllStoredCardsHaveName = (savedCards: array) => { savedCards diff --git a/src/Types/SessionsType.res b/src/Types/SessionsType.res index 8453f7c6..4336a5a1 100644 --- a/src/Types/SessionsType.res +++ b/src/Types/SessionsType.res @@ -7,18 +7,18 @@ type token = { walletName: wallet, token: string, sessionId: string, - allowed_payment_methods: array, - transaction_info: Js.Json.t, - merchant_info: Js.Json.t, + allowed_payment_methods: array, + transaction_info: JSON.t, + merchant_info: JSON.t, } type tokenType = - | ApplePayToken(array) - | GooglePayThirdPartyToken(array) + | ApplePayToken(array) + | GooglePayThirdPartyToken(array) | OtherToken(array) type optionalTokenType = - | ApplePayTokenOptional(option) - | GooglePayThirdPartyTokenOptional(option) + | ApplePayTokenOptional(option) + | GooglePayThirdPartyTokenOptional(option) | OtherTokenOptional(option) type sessions = { @@ -31,8 +31,8 @@ let defaultToken = { token: "", sessionId: "", allowed_payment_methods: [], - transaction_info: Js.Dict.empty()->Js.Json.object_, - merchant_info: Js.Dict.empty()->Js.Json.object_, + transaction_info: Js.Dict.empty()->JSON.Encode.object, + merchant_info: Js.Dict.empty()->JSON.Encode.object, } let getWallet = str => { switch str { @@ -48,7 +48,7 @@ open Utils let getSessionsToken = (dict, str) => { dict ->Js.Dict.get(str) - ->Option.flatMap(Js.Json.decodeArray) + ->Option.flatMap(JSON.Decode.array) ->Option.map(arr => { arr->Js.Array2.map(json => { let dict = json->getDictFromJson @@ -65,7 +65,7 @@ let getSessionsToken = (dict, str) => { ->Option.getOr([defaultToken]) } let getSessionsTokenJson = (dict, str) => { - dict->Js.Dict.get(str)->Option.flatMap(Js.Json.decodeArray)->Option.getOr([]) + dict->Js.Dict.get(str)->Option.flatMap(JSON.Decode.array)->Option.getOr([]) } let itemToObjMapper = (dict, returnType) => { @@ -93,11 +93,11 @@ let itemToObjMapper = (dict, returnType) => { let getWalletFromTokenType = (arr, val: wallet) => { let x = arr->Js.Array2.find(item => item - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.flatMap(x => { x->Js.Dict.get("wallet_name") }) - ->Option.flatMap(Js.Json.decodeString) + ->Option.flatMap(JSON.Decode.string) ->Option.getOr("") ->getWallet === val ) diff --git a/src/Types/ThemeImporter.res b/src/Types/ThemeImporter.res index 10572cff..f9f1becc 100644 --- a/src/Types/ThemeImporter.res +++ b/src/Types/ThemeImporter.res @@ -1,6 +1,6 @@ type themeDataModule = { default: CardThemeType.themeClass, - defaultRules: CardThemeType.themeClass => Js.Json.t, + defaultRules: CardThemeType.themeClass => JSON.t, } @val diff --git a/src/Utilities/DynamicFieldsUtils.res b/src/Utilities/DynamicFieldsUtils.res index 5996cb88..dde78d82 100644 --- a/src/Utilities/DynamicFieldsUtils.res +++ b/src/Utilities/DynamicFieldsUtils.res @@ -455,15 +455,15 @@ let useRequiredFieldsBody = ( let arr = value->Js.String2.split(" ") acc->Js.Dict.set( "billing.address.first_name", - arr->Belt.Array.get(0)->Option.getOr("")->Js.Json.string, + arr->Belt.Array.get(0)->Option.getOr("")->JSON.Encode.string, ) acc->Js.Dict.set( "billing.address.last_name", - arr->Belt.Array.get(1)->Option.getOr("")->Js.Json.string, + arr->Belt.Array.get(1)->Option.getOr("")->JSON.Encode.string, ) } else { let path = item->getBillingAddressPathFromFieldType - acc->Js.Dict.set(path, value->Js.Json.string) + acc->Js.Dict.set(path, value->JSON.Encode.string) } acc }, requiredFieldsBody) @@ -491,11 +491,11 @@ let useRequiredFieldsBody = ( if !isAllStoredCardsHaveName { acc->Js.Dict.set( "payment_method_data.card_token.card_holder_name", - value->Js.Json.string, + value->JSON.Encode.string, ) } } else { - acc->Js.Dict.set(item.required_field, value->Js.Json.string) + acc->Js.Dict.set(item.required_field, value->JSON.Encode.string) } acc }, Js.Dict.empty()) @@ -657,7 +657,7 @@ let useSubmitCallback = () => { let {localeString} = Recoil.useRecoilValueFromAtom(RecoilAtoms.configAtom) React.useCallback5((ev: Window.event) => { - let json = ev.data->Js.Json.parseExn + let json = ev.data->JSON.parseExn let confirm = json->Utils.getDictFromJson->ConfirmType.itemToObjMapper if confirm.doSubmit { if line1.value == "" { diff --git a/src/Utilities/ErrorUtils.res b/src/Utilities/ErrorUtils.res index 64425432..5ad8ba49 100644 --- a/src/Utilities/ErrorUtils.res +++ b/src/Utilities/ErrorUtils.res @@ -163,7 +163,7 @@ let manageErrorWarning = ( } } -let unknownKeysWarning = (validKeysArr, dict: Js.Dict.t, dictType: string, ~logger) => { +let unknownKeysWarning = (validKeysArr, dict: Js.Dict.t, dictType: string, ~logger) => { dict ->Js.Dict.entries ->Js.Array2.forEach(((key, _)) => { diff --git a/src/Utilities/LoggerUtils.res b/src/Utilities/LoggerUtils.res index 1a955cf2..d60ace02 100644 --- a/src/Utilities/LoggerUtils.res +++ b/src/Utilities/LoggerUtils.res @@ -12,11 +12,11 @@ let getLogtype = val => { let logApi = ( ~eventName, ~statusCode="", - ~data: Js.Json.t=Js.Dict.empty()->Js.Json.object_, + ~data: JSON.t=Js.Dict.empty()->JSON.Encode.object, ~type_, ~url="", ~paymentMethod="", - ~result: Js.Json.t=Js.Dict.empty()->Js.Json.object_, + ~result: JSON.t=Js.Dict.empty()->JSON.Encode.object, ~optLogger: option, ~logType: OrcaLogger.logType=INFO, ~logCategory: OrcaLogger.logCategory=API, @@ -24,24 +24,28 @@ let logApi = ( ) => { let logtype = getLogtype(type_) let (value, internalMetadata) = switch logtype { - | Request => ([("url", url->Js.Json.string)], []) + | Request => ([("url", url->JSON.Encode.string)], []) | Response => ( - [("url", url->Js.Json.string), ("statusCode", statusCode->Js.Json.string)], + [("url", url->JSON.Encode.string), ("statusCode", statusCode->JSON.Encode.string)], [("response", data)], ) | NoResponse => ( - [("url", url->Js.Json.string), ("statusCode", "504"->Js.Json.string), ("response", data)], + [ + ("url", url->JSON.Encode.string), + ("statusCode", "504"->JSON.Encode.string), + ("response", data), + ], [("response", data)], ) | Err => ( [ - ("url", url->Js.Json.string), - ("statusCode", statusCode->Js.Json.string), + ("url", url->JSON.Encode.string), + ("statusCode", statusCode->JSON.Encode.string), ("response", data), ], [("response", data)], ) - | Method => ([("method", paymentMethod->Js.Json.string)], [("result", result)]) + | Method => ([("method", paymentMethod->JSON.Encode.string)], [("result", result)]) } switch optLogger { | Some(logger) => @@ -60,10 +64,10 @@ let logApi = ( let logInputChangeInfo = (text, logger: OrcaLogger.loggerMake) => { logger.setLogInfo( - ~value=[("inputChange", text->Js.Json.string)] + ~value=[("inputChange", text->JSON.Encode.string)] ->Js.Dict.fromArray - ->Js.Json.object_ - ->Js.Json.stringify, + ->JSON.Encode.object + ->JSON.stringify, ~eventName=INPUT_FIELD_CHANGED, (), ) diff --git a/src/Utilities/PaymentBody.res b/src/Utilities/PaymentBody.res index 422555f5..9314104a 100644 --- a/src/Utilities/PaymentBody.res +++ b/src/Utilities/PaymentBody.res @@ -1,38 +1,38 @@ @val @scope("window") external btoa: string => string = "btoa" let cardPaymentBody = (~cardNumber, ~month, ~year, ~cardHolderName, ~cvcNumber, ~cardBrand) => [ - ("payment_method", "card"->Js.Json.string), + ("payment_method", "card"->JSON.Encode.string), ( "payment_method_data", [ ( "card", [ - ("card_number", cardNumber->CardUtils.clearSpaces->Js.Json.string), - ("card_exp_month", month->Js.Json.string), - ("card_exp_year", year->Js.Json.string), - ("card_holder_name", cardHolderName->Js.Json.string), - ("card_cvc", cvcNumber->Js.Json.string), - ("card_issuer", ""->Js.Json.string), + ("card_number", cardNumber->CardUtils.clearSpaces->JSON.Encode.string), + ("card_exp_month", month->JSON.Encode.string), + ("card_exp_year", year->JSON.Encode.string), + ("card_holder_name", cardHolderName->JSON.Encode.string), + ("card_cvc", cvcNumber->JSON.Encode.string), + ("card_issuer", ""->JSON.Encode.string), ] ->Js.Array2.concat(cardBrand) ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let bancontactBody = () => [ - ("payment_method", "bank_redirect"->Js.Json.string), - ("payment_method_type", "bancontact_card"->Js.Json.string), + ("payment_method", "bank_redirect"->JSON.Encode.string), + ("payment_method_type", "bancontact_card"->JSON.Encode.string), ] let boletoBody = (~socialSecurityNumber) => [ - ("payment_method", "voucher"->Js.Json.string), - ("payment_method_type", "boleto"->Js.Json.string), + ("payment_method", "voucher"->JSON.Encode.string), + ("payment_method_type", "boleto"->JSON.Encode.string), ( "payment_method_data", [ @@ -41,25 +41,25 @@ let boletoBody = (~socialSecurityNumber) => [ [ ( "boleto", - [("social_security_number", socialSecurityNumber->Js.Json.string)] + [("social_security_number", socialSecurityNumber->JSON.Encode.string)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let savedCardBody = (~paymentToken, ~customerId, ~cvcNumber) => [ - ("payment_method", "card"->Js.Json.string), - ("payment_token", paymentToken->Js.Json.string), - ("customer_id", customerId->Js.Json.string), - ("card_cvc", cvcNumber->Js.Json.string), + ("payment_method", "card"->JSON.Encode.string), + ("payment_token", paymentToken->JSON.Encode.string), + ("customer_id", customerId->JSON.Encode.string), + ("card_cvc", cvcNumber->JSON.Encode.string), ] let mandateBody = paymentType => { @@ -70,24 +70,27 @@ let mandateBody = paymentType => { ( "customer_acceptance", [ - ("acceptance_type", "online"->Js.Json.string), - ("accepted_at", Js.Date.now()->Js.Date.fromFloat->Js.Date.toISOString->Js.Json.string), + ("acceptance_type", "online"->JSON.Encode.string), + ( + "accepted_at", + Js.Date.now()->Js.Date.fromFloat->Js.Date.toISOString->JSON.Encode.string, + ), ( "online", - [("user_agent", BrowserSpec.navigator.userAgent->Js.Json.string)] + [("user_agent", BrowserSpec.navigator.userAgent->JSON.Encode.string)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), - ("setup_future_usage", "off_session"->Js.Json.string), - ("payment_type", {paymentType === "" ? Js.Json.null : paymentType->Js.Json.string}), + ("setup_future_usage", "off_session"->JSON.Encode.string), + ("payment_type", {paymentType === "" ? JSON.Encode.null : paymentType->JSON.Encode.string}), ] } @@ -104,9 +107,9 @@ let achBankDebitBody = ( ~paymentType, ) => [ - ("payment_method", "bank_debit"->Js.Json.string), - ("setup_future_usage", "off_session"->Js.Json.string), - ("payment_method_type", "ach"->Js.Json.string), + ("payment_method", "bank_debit"->JSON.Encode.string), + ("setup_future_usage", "off_session"->JSON.Encode.string), + ("payment_method_type", "ach"->JSON.Encode.string), ( "payment_method_data", [ @@ -119,40 +122,40 @@ let achBankDebitBody = ( ( "billing_details", [ - ("name", cardHolderName->Js.Json.string), - ("email", email->Js.Json.string), + ("name", cardHolderName->JSON.Encode.string), + ("email", email->JSON.Encode.string), ( "address", [ - ("line1", line1->Js.Json.string), - ("line2", line2->Js.Json.string), - ("city", city->Js.Json.string), - ("state", state->Js.Json.string), - ("zip", postalCode->Js.Json.string), - ("country", country->Js.Json.string), + ("line1", line1->JSON.Encode.string), + ("line2", line2->JSON.Encode.string), + ("city", city->JSON.Encode.string), + ("state", state->JSON.Encode.string), + ("zip", postalCode->JSON.Encode.string), + ("country", country->JSON.Encode.string), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), - ("account_number", bank.accountNumber->Js.Json.string), - ("bank_account_holder_name", bank.accountHolderName->Js.Json.string), - ("routing_number", bank.routingNumber->Js.Json.string), - ("bank_type", bank.accountType->Js.Json.string), + ("account_number", bank.accountNumber->JSON.Encode.string), + ("bank_account_holder_name", bank.accountHolderName->JSON.Encode.string), + ("routing_number", bank.routingNumber->JSON.Encode.string), + ("bank_type", bank.accountType->JSON.Encode.string), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ]->Js.Array2.concat(mandateBody(paymentType)) @@ -167,8 +170,8 @@ let sepaBankDebitBody = ( ~postalCode, ~state, ) => [ - ("payment_method", "bank_debit"->Js.Json.string), - ("payment_method_type", "sepa"->Js.Json.string), + ("payment_method", "bank_debit"->JSON.Encode.string), + ("payment_method_type", "sepa"->JSON.Encode.string), ( "payment_method_data", [ @@ -181,38 +184,38 @@ let sepaBankDebitBody = ( ( "billing_details", [ - ("name", fullName->Js.Json.string), - ("email", email->Js.Json.string), + ("name", fullName->JSON.Encode.string), + ("email", email->JSON.Encode.string), ( "address", [ - ("line1", line1->Js.Json.string), - ("line2", line2->Js.Json.string), - ("city", city->Js.Json.string), - ("state", state->Js.Json.string), - ("zip", postalCode->Js.Json.string), - ("country", country->Js.Json.string), + ("line1", line1->JSON.Encode.string), + ("line2", line2->JSON.Encode.string), + ("city", city->JSON.Encode.string), + ("state", state->JSON.Encode.string), + ("zip", postalCode->JSON.Encode.string), + ("country", country->JSON.Encode.string), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), - ("iban", data.iban->Js.Json.string), - ("bank_account_holder_name", data.accountHolderName->Js.Json.string), + ("iban", data.iban->JSON.Encode.string), + ("bank_account_holder_name", data.accountHolderName->JSON.Encode.string), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] @@ -228,8 +231,8 @@ let bacsBankDebitBody = ( ~country, ~bankAccountHolderName, ) => [ - ("payment_method", "bank_debit"->Js.Json.string), - ("payment_method_type", "bacs"->Js.Json.string), + ("payment_method", "bank_debit"->JSON.Encode.string), + ("payment_method_type", "bacs"->JSON.Encode.string), ( "payment_method_data", [ @@ -242,39 +245,39 @@ let bacsBankDebitBody = ( ( "billing_details", [ - ("name", bankAccountHolderName->Js.Json.string), - ("email", email->Js.Json.string), + ("name", bankAccountHolderName->JSON.Encode.string), + ("email", email->JSON.Encode.string), ( "address", [ - ("line1", line1->Js.Json.string), - ("line2", line2->Js.Json.string), - ("city", city->Js.Json.string), - ("zip", zip->Js.Json.string), - ("state", state->Js.Json.string), - ("country", country->Js.Json.string), + ("line1", line1->JSON.Encode.string), + ("line2", line2->JSON.Encode.string), + ("city", city->JSON.Encode.string), + ("zip", zip->JSON.Encode.string), + ("state", state->JSON.Encode.string), + ("country", country->JSON.Encode.string), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), - ("bank_account_holder_name", bankAccountHolderName->Js.Json.string), - ("sort_code", sortCode->Js.Json.string), - ("account_number", accNum->Js.Json.string), + ("bank_account_holder_name", bankAccountHolderName->JSON.Encode.string), + ("sort_code", sortCode->JSON.Encode.string), + ("account_number", accNum->JSON.Encode.string), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] @@ -289,8 +292,8 @@ let becsBankDebitBody = ( ~postalCode, ~state, ) => [ - ("payment_method", "bank_debit"->Js.Json.string), - ("payment_method_type", "becs"->Js.Json.string), + ("payment_method", "bank_debit"->JSON.Encode.string), + ("payment_method_type", "becs"->JSON.Encode.string), ( "payment_method_data", [ @@ -303,48 +306,48 @@ let becsBankDebitBody = ( ( "billing_details", [ - ("name", fullName->Js.Json.string), - ("email", email->Js.Json.string), + ("name", fullName->JSON.Encode.string), + ("email", email->JSON.Encode.string), ( "address", [ - ("line1", line1->Js.Json.string), - ("line2", line2->Js.Json.string), - ("city", city->Js.Json.string), - ("state", state->Js.Json.string), - ("zip", postalCode->Js.Json.string), - ("country", country->Js.Json.string), + ("line1", line1->JSON.Encode.string), + ("line2", line2->JSON.Encode.string), + ("city", city->JSON.Encode.string), + ("state", state->JSON.Encode.string), + ("zip", postalCode->JSON.Encode.string), + ("country", country->JSON.Encode.string), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), - ("bsb_number", data.sortCode->Js.Json.string), - ("account_number", data.accountNumber->Js.Json.string), - ("bank_account_holder_name", data.accountHolderName->Js.Json.string), + ("bsb_number", data.sortCode->JSON.Encode.string), + ("account_number", data.accountNumber->JSON.Encode.string), + ("bank_account_holder_name", data.accountHolderName->JSON.Encode.string), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let klarnaRedirectionBody = (~fullName, ~email, ~country, ~connectors) => [ - ("payment_method", "pay_later"->Js.Json.string), - ("payment_method_type", "klarna"->Js.Json.string), - ("payment_experience", "redirect_to_url"->Js.Json.string), - ("connector", connectors->Utils.getArrofJsonString->Js.Json.array), - ("name", fullName->Js.Json.string), + ("payment_method", "pay_later"->JSON.Encode.string), + ("payment_method_type", "klarna"->JSON.Encode.string), + ("payment_experience", "redirect_to_url"->JSON.Encode.string), + ("connector", connectors->Utils.getArrofJsonString->JSON.Encode.array), + ("name", fullName->JSON.Encode.string), ( "payment_method_data", [ @@ -353,84 +356,97 @@ let klarnaRedirectionBody = (~fullName, ~email, ~country, ~connectors) => [ [ ( "klarna_redirect", - [("billing_email", email->Js.Json.string), ("billing_country", country->Js.Json.string)] + [ + ("billing_email", email->JSON.Encode.string), + ("billing_country", country->JSON.Encode.string), + ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let klarnaSDKbody = (~token, ~connectors) => [ - ("payment_method", "pay_later"->Js.Json.string), - ("payment_method_type", "klarna"->Js.Json.string), - ("payment_experience", "invoke_sdk_client"->Js.Json.string), - ("connector", connectors->Utils.getArrofJsonString->Js.Json.array), + ("payment_method", "pay_later"->JSON.Encode.string), + ("payment_method_type", "klarna"->JSON.Encode.string), + ("payment_experience", "invoke_sdk_client"->JSON.Encode.string), + ("connector", connectors->Utils.getArrofJsonString->JSON.Encode.array), ( "payment_method_data", [ ( "pay_later", - [("klarna_sdk", [("token", token->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_)] + [ + ( + "klarna_sdk", + [("token", token->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + ), + ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let paypalRedirectionBody = (~connectors) => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "paypal"->Js.Json.string), - ("payment_experience", "redirect_to_url"->Js.Json.string), - ("connector", connectors->Utils.getArrofJsonString->Js.Json.array), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "paypal"->JSON.Encode.string), + ("payment_experience", "redirect_to_url"->JSON.Encode.string), + ("connector", connectors->Utils.getArrofJsonString->JSON.Encode.array), ( "payment_method_data", [ ( "wallet", - [("paypal_redirect", []->Js.Dict.fromArray->Js.Json.object_)] + [("paypal_redirect", []->Js.Dict.fromArray->JSON.Encode.object)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let paypalSdkBody = (~token, ~connectors) => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "paypal"->Js.Json.string), - ("payment_experience", "invoke_sdk_client"->Js.Json.string), - ("connector", connectors->Utils.getArrofJsonString->Js.Json.array), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "paypal"->JSON.Encode.string), + ("payment_experience", "invoke_sdk_client"->JSON.Encode.string), + ("connector", connectors->Utils.getArrofJsonString->JSON.Encode.array), ( "payment_method_data", [ ( "wallet", - [("paypal_sdk", [("token", token->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_)] + [ + ( + "paypal_sdk", + [("token", token->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + ), + ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let gpayBody = (~payObj: GooglePayType.paymentData, ~connectors: array) => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "google_pay"->Js.Json.string), - ("connector", connectors->Utils.getArrofJsonString->Js.Json.array), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "google_pay"->JSON.Encode.string), + ("connector", connectors->Utils.getArrofJsonString->JSON.Encode.array), ( "payment_method_data", [ @@ -440,8 +456,8 @@ let gpayBody = (~payObj: GooglePayType.paymentData, ~connectors: array) ( "google_pay", [ - ("type", payObj.paymentMethodData.\"type"->Js.Json.string), - ("description", payObj.paymentMethodData.description->Js.Json.string), + ("type", payObj.paymentMethodData.\"type"->JSON.Encode.string), + ("description", payObj.paymentMethodData.description->JSON.Encode.string), ("info", payObj.paymentMethodData.info->Utils.transformKeys(Utils.SnakeCase)), ( "tokenization_data", @@ -449,164 +465,169 @@ let gpayBody = (~payObj: GooglePayType.paymentData, ~connectors: array) ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let gpayRedirectBody = (~connectors: array) => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "google_pay"->Js.Json.string), - ("connector", connectors->Utils.getArrofJsonString->Js.Json.array), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "google_pay"->JSON.Encode.string), + ("connector", connectors->Utils.getArrofJsonString->JSON.Encode.array), ( "payment_method_data", [ ( "wallet", - [("google_pay_redirect", Js.Dict.empty()->Js.Json.object_)] + [("google_pay_redirect", Js.Dict.empty()->JSON.Encode.object)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let gPayThirdPartySdkBody = (~connectors) => { [ - ("connector", connectors->Utils.getArrofJsonString->Js.Json.array), - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "google_pay"->Js.Json.string), + ("connector", connectors->Utils.getArrofJsonString->JSON.Encode.array), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "google_pay"->JSON.Encode.string), ( "payment_method_data", [ ( "wallet", - [("google_pay_third_party_sdk", Js.Dict.empty()->Js.Json.object_)] + [("google_pay_third_party_sdk", Js.Dict.empty()->JSON.Encode.object)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] } let applePayBody = (~token, ~connectors) => { - let dict = token->Js.Json.decodeObject->Option.getOr(Js.Dict.empty()) + let dict = token->JSON.Decode.object->Option.getOr(Js.Dict.empty()) let paymentDataString = dict ->Js.Dict.get("paymentData") - ->Option.getOr(Js.Dict.empty()->Js.Json.object_) - ->Js.Json.stringify + ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + ->JSON.stringify ->btoa - dict->Js.Dict.set("paymentData", paymentDataString->Js.Json.string) + dict->Js.Dict.set("paymentData", paymentDataString->JSON.Encode.string) [ - ("connector", connectors->Utils.getArrofJsonString->Js.Json.array), - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "apple_pay"->Js.Json.string), + ("connector", connectors->Utils.getArrofJsonString->JSON.Encode.array), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "apple_pay"->JSON.Encode.string), ( "payment_method_data", [ ( "wallet", - [("apple_pay", dict->Js.Json.object_->Utils.transformKeys(SnakeCase))] + [("apple_pay", dict->JSON.Encode.object->Utils.transformKeys(SnakeCase))] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] } let applePayRedirectBody = (~connectors) => { [ - ("connector", connectors->Utils.getArrofJsonString->Js.Json.array), - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "apple_pay"->Js.Json.string), + ("connector", connectors->Utils.getArrofJsonString->JSON.Encode.array), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "apple_pay"->JSON.Encode.string), ( "payment_method_data", [ ( "wallet", - [("apple_pay_redirect", Js.Dict.empty()->Js.Json.object_)] + [("apple_pay_redirect", Js.Dict.empty()->JSON.Encode.object)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] } let applePayThirdPartySdkBody = (~connectors) => { [ - ("connector", connectors->Utils.getArrofJsonString->Js.Json.array), - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "apple_pay"->Js.Json.string), + ("connector", connectors->Utils.getArrofJsonString->JSON.Encode.array), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "apple_pay"->JSON.Encode.string), ( "payment_method_data", [ ( "wallet", - [("apple_pay_third_party_sdk", Js.Dict.empty()->Js.Json.object_)] + [("apple_pay_third_party_sdk", Js.Dict.empty()->JSON.Encode.object)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] } let affirmBody = () => [ - ("payment_method", "pay_later"->Js.Json.string), - ("payment_method_type", "affirm"->Js.Json.string), - ("payment_experience", "redirect_to_url"->Js.Json.string), + ("payment_method", "pay_later"->JSON.Encode.string), + ("payment_method_type", "affirm"->JSON.Encode.string), + ("payment_experience", "redirect_to_url"->JSON.Encode.string), ( "payment_method_data", [ ( "pay_later", - [("affirm_redirect", []->Js.Dict.fromArray->Js.Json.object_)] + [("affirm_redirect", []->Js.Dict.fromArray->JSON.Encode.object)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let cryptoBody = (~currency) => [ - ("payment_method", "crypto"->Js.Json.string), - ("payment_method_type", "crypto_currency"->Js.Json.string), - ("payment_experience", "redirect_to_url"->Js.Json.string), + ("payment_method", "crypto"->JSON.Encode.string), + ("payment_method_type", "crypto_currency"->JSON.Encode.string), + ("payment_experience", "redirect_to_url"->JSON.Encode.string), ( "payment_method_data", - [("crypto", [("pay_currency", currency->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_)] + [ + ( + "crypto", + [("pay_currency", currency->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + ), + ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let afterpayRedirectionBody = (~fullName, ~email) => [ - ("payment_method", "pay_later"->Js.Json.string), - ("payment_method_type", "afterpay_clearpay"->Js.Json.string), - ("payment_experience", "redirect_to_url"->Js.Json.string), + ("payment_method", "pay_later"->JSON.Encode.string), + ("payment_method_type", "afterpay_clearpay"->JSON.Encode.string), + ("payment_experience", "redirect_to_url"->JSON.Encode.string), ( "payment_method_data", [ @@ -615,23 +636,26 @@ let afterpayRedirectionBody = (~fullName, ~email) => [ [ ( "afterpay_clearpay_redirect", - [("billing_email", email->Js.Json.string), ("billing_name", fullName->Js.Json.string)] + [ + ("billing_email", email->JSON.Encode.string), + ("billing_name", fullName->JSON.Encode.string), + ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let giroPayBody = (~name, ~iban="", ()) => [ - ("payment_method", "bank_redirect"->Js.Json.string), - ("payment_method_type", "giropay"->Js.Json.string), + ("payment_method", "bank_redirect"->JSON.Encode.string), + ("payment_method_type", "giropay"->JSON.Encode.string), ( "payment_method_data", [ @@ -643,26 +667,26 @@ let giroPayBody = (~name, ~iban="", ()) => [ [ ( "billing_details", - [("billing_name", name->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_, + [("billing_name", name->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, ), - ("bank_account_iban", iban->Js.Json.string), + ("bank_account_iban", iban->JSON.Encode.string), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let sofortBody = (~country, ~name, ~email) => [ - ("payment_method", "bank_redirect"->Js.Json.string), - ("payment_method_type", "sofort"->Js.Json.string), + ("payment_method", "bank_redirect"->JSON.Encode.string), + ("payment_method_type", "sofort"->JSON.Encode.string), ( "payment_method_data", [ @@ -672,34 +696,34 @@ let sofortBody = (~country, ~name, ~email) => [ ( "sofort", [ - ("country", (country == "" ? "US" : country)->Js.Json.string), - ("preferred_language", "en"->Js.Json.string), + ("country", (country == "" ? "US" : country)->JSON.Encode.string), + ("preferred_language", "en"->JSON.Encode.string), ( "billing_details", [ - ("billing_name", name->Js.Json.string), - ("email", (email == "" ? "test@gmail.com" : email)->Js.Json.string), + ("billing_name", name->JSON.Encode.string), + ("email", (email == "" ? "test@gmail.com" : email)->JSON.Encode.string), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let iDealBody = (~name, ~bankName) => [ - ("payment_method", "bank_redirect"->Js.Json.string), - ("payment_method_type", "ideal"->Js.Json.string), + ("payment_method", "bank_redirect"->JSON.Encode.string), + ("payment_method_type", "ideal"->JSON.Encode.string), ( "payment_method_data", [ @@ -711,26 +735,26 @@ let iDealBody = (~name, ~bankName) => [ [ ( "billing_details", - [("billing_name", name->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_, + [("billing_name", name->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, ), - ("bank_name", (bankName == "" ? "american_express" : bankName)->Js.Json.string), + ("bank_name", (bankName == "" ? "american_express" : bankName)->JSON.Encode.string), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let epsBody = (~name, ~bankName) => [ - ("payment_method", "bank_redirect"->Js.Json.string), - ("payment_method_type", "eps"->Js.Json.string), + ("payment_method", "bank_redirect"->JSON.Encode.string), + ("payment_method_type", "eps"->JSON.Encode.string), ( "payment_method_data", [ @@ -742,27 +766,27 @@ let epsBody = (~name, ~bankName) => [ [ ( "billing_details", - [("billing_name", name->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_, + [("billing_name", name->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, ), - ("bank_name", (bankName === "" ? "american_express" : bankName)->Js.Json.string), + ("bank_name", (bankName === "" ? "american_express" : bankName)->JSON.Encode.string), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let achBankTransferBody = (~email, ~connectors) => [ - ("payment_method", "bank_transfer"->Js.Json.string), - ("connector", connectors->Utils.getArrofJsonString->Js.Json.array), - ("payment_method_type", "ach"->Js.Json.string), + ("payment_method", "bank_transfer"->JSON.Encode.string), + ("connector", connectors->Utils.getArrofJsonString->JSON.Encode.array), + ("payment_method_type", "ach"->JSON.Encode.string), ( "payment_method_data", [ @@ -774,25 +798,25 @@ let achBankTransferBody = (~email, ~connectors) => [ [ ( "billing_details", - [("email", email->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_, + [("email", email->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let bacsBankTransferBody = (~email, ~name, ~connectors) => [ - ("payment_method", "bank_transfer"->Js.Json.string), - ("connector", connectors->Utils.getArrofJsonString->Js.Json.array), - ("payment_method_type", "bacs"->Js.Json.string), + ("payment_method", "bank_transfer"->JSON.Encode.string), + ("connector", connectors->Utils.getArrofJsonString->JSON.Encode.array), + ("payment_method_type", "bacs"->JSON.Encode.string), ( "payment_method_data", [ @@ -804,27 +828,27 @@ let bacsBankTransferBody = (~email, ~name, ~connectors) => [ [ ( "billing_details", - [("email", email->Js.Json.string), ("name", name->Js.Json.string)] + [("email", email->JSON.Encode.string), ("name", name->JSON.Encode.string)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let sepaBankTransferBody = (~email, ~name, ~country, ~connectors) => [ - ("payment_method", "bank_transfer"->Js.Json.string), - ("connector", connectors->Utils.getArrofJsonString->Js.Json.array), - ("payment_method_type", "sepa"->Js.Json.string), + ("payment_method", "bank_transfer"->JSON.Encode.string), + ("connector", connectors->Utils.getArrofJsonString->JSON.Encode.array), + ("payment_method_type", "sepa"->JSON.Encode.string), ( "payment_method_data", [ @@ -836,45 +860,50 @@ let sepaBankTransferBody = (~email, ~name, ~country, ~connectors) => [ [ ( "billing_details", - [("email", email->Js.Json.string), ("name", name->Js.Json.string)] + [("email", email->JSON.Encode.string), ("name", name->JSON.Encode.string)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), - ("country", country->Js.Json.string), + ("country", country->JSON.Encode.string), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let blikBody = (~blikCode) => [ - ("payment_method", "bank_redirect"->Js.Json.string), - ("payment_method_type", "blik"->Js.Json.string), + ("payment_method", "bank_redirect"->JSON.Encode.string), + ("payment_method_type", "blik"->JSON.Encode.string), ( "payment_method_data", [ ( "bank_redirect", - [("blik", [("blik_code", blikCode->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_)] + [ + ( + "blik", + [("blik_code", blikCode->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + ), + ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let p24Body = (~email) => [ - ("payment_method", "bank_redirect"->Js.Json.string), - ("payment_method_type", "przelewy24"->Js.Json.string), + ("payment_method", "bank_redirect"->JSON.Encode.string), + ("payment_method_type", "przelewy24"->JSON.Encode.string), ( "payment_method_data", [ @@ -886,25 +915,25 @@ let p24Body = (~email) => [ [ ( "billing_details", - [("email", email->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_, + [("email", email->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let interacBody = (~email, ~country) => [ - ("payment_method", "bank_redirect"->Js.Json.string), - ("payment_method_type", "interac"->Js.Json.string), + ("payment_method", "bank_redirect"->JSON.Encode.string), + ("payment_method_type", "interac"->JSON.Encode.string), ( "payment_method_data", [ @@ -913,149 +942,154 @@ let interacBody = (~email, ~country) => [ [ ( "interac", - [("email", email->Js.Json.string), ("country", country->Js.Json.string)] + [("email", email->JSON.Encode.string), ("country", country->JSON.Encode.string)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let mobilePayBody = () => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "mobile_pay"->Js.Json.string), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "mobile_pay"->JSON.Encode.string), ( "payment_method_data", [ ( "wallet", - [("mobile_pay", []->Js.Dict.fromArray->Js.Json.object_)] + [("mobile_pay", []->Js.Dict.fromArray->JSON.Encode.object)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let aliPayRedirectBody = () => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "ali_pay"->Js.Json.string), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "ali_pay"->JSON.Encode.string), ( "payment_method_data", [ ( "wallet", - [("ali_pay_redirect", []->Js.Dict.fromArray->Js.Json.object_)] + [("ali_pay_redirect", []->Js.Dict.fromArray->JSON.Encode.object)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let aliPayQrBody = () => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "ali_pay"->Js.Json.string), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "ali_pay"->JSON.Encode.string), ( "payment_method_data", [ ( "wallet", - [("ali_pay_qr", []->Js.Dict.fromArray->Js.Json.object_)] + [("ali_pay_qr", []->Js.Dict.fromArray->JSON.Encode.object)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let weChatPayRedirectBody = () => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "we_chat_pay"->Js.Json.string), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "we_chat_pay"->JSON.Encode.string), ( "payment_method_data", [ ( "wallet", - [("we_chat_pay_redirect", []->Js.Dict.fromArray->Js.Json.object_)] + [("we_chat_pay_redirect", []->Js.Dict.fromArray->JSON.Encode.object)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let weChatPayQrBody = () => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "we_chat_pay"->Js.Json.string), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "we_chat_pay"->JSON.Encode.string), ( "payment_method_data", [ ( "wallet", - [("we_chat_pay_qr", []->Js.Dict.fromArray->Js.Json.object_)] + [("we_chat_pay_qr", []->Js.Dict.fromArray->JSON.Encode.object)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let trustlyBody = (~country) => [ - ("payment_method", "bank_redirect"->Js.Json.string), - ("payment_method_type", "trustly"->Js.Json.string), + ("payment_method", "bank_redirect"->JSON.Encode.string), + ("payment_method_type", "trustly"->JSON.Encode.string), ( "payment_method_data", [ ( "bank_redirect", - [("trustly", [("country", country->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_)] + [ + ( + "trustly", + [("country", country->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + ), + ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let finlandOB = () => [ - ("payment_method", "bank_redirect"->Js.Json.string), - ("payment_method_type", "online_banking_finland"->Js.Json.string), + ("payment_method", "bank_redirect"->JSON.Encode.string), + ("payment_method_type", "online_banking_finland"->JSON.Encode.string), ( "payment_method_data", [ ( "bank_redirect", - [("online_banking_finland", []->Js.Dict.fromArray->Js.Json.object_)] + [("online_banking_finland", []->Js.Dict.fromArray->JSON.Encode.object)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let polandOB = (~bank) => [ - ("payment_method", "bank_redirect"->Js.Json.string), - ("payment_method_type", "online_banking_poland"->Js.Json.string), + ("payment_method", "bank_redirect"->JSON.Encode.string), + ("payment_method_type", "online_banking_poland"->JSON.Encode.string), ( "payment_method_data", [ @@ -1064,21 +1098,21 @@ let polandOB = (~bank) => [ [ ( "online_banking_poland", - [("issuer", bank->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_, + [("issuer", bank->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let czechOB = (~bank) => [ - ("payment_method", "bank_redirect"->Js.Json.string), - ("payment_method_type", "online_banking_czech_republic"->Js.Json.string), + ("payment_method", "bank_redirect"->JSON.Encode.string), + ("payment_method_type", "online_banking_czech_republic"->JSON.Encode.string), ( "payment_method_data", [ @@ -1087,21 +1121,21 @@ let czechOB = (~bank) => [ [ ( "online_banking_czech_republic", - [("issuer", bank->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_, + [("issuer", bank->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let slovakiaOB = (~bank) => [ - ("payment_method", "bank_redirect"->Js.Json.string), - ("payment_method_type", "online_banking_slovakia"->Js.Json.string), + ("payment_method", "bank_redirect"->JSON.Encode.string), + ("payment_method_type", "online_banking_slovakia"->JSON.Encode.string), ( "payment_method_data", [ @@ -1110,56 +1144,56 @@ let slovakiaOB = (~bank) => [ [ ( "online_banking_slovakia", - [("issuer", bank->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_, + [("issuer", bank->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let walleyBody = () => [ - ("payment_method", "pay_later"->Js.Json.string), - ("payment_method_type", "walley"->Js.Json.string), + ("payment_method", "pay_later"->JSON.Encode.string), + ("payment_method_type", "walley"->JSON.Encode.string), ( "payment_method_data", [ ( "pay_later", - [("walley_redirect", []->Js.Dict.fromArray->Js.Json.object_)] + [("walley_redirect", []->Js.Dict.fromArray->JSON.Encode.object)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let payBrightBody = () => [ - ("payment_method", "pay_later"->Js.Json.string), - ("payment_method_type", "pay_bright"->Js.Json.string), + ("payment_method", "pay_later"->JSON.Encode.string), + ("payment_method_type", "pay_bright"->JSON.Encode.string), ( "payment_method_data", [ ( "pay_later", - [("pay_bright_redirect", []->Js.Dict.fromArray->Js.Json.object_)] + [("pay_bright_redirect", []->Js.Dict.fromArray->JSON.Encode.object)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let mbWayBody = (~phoneNumber) => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "mb_way"->Js.Json.string), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "mb_way"->JSON.Encode.string), ( "payment_method_data", [ @@ -1168,173 +1202,187 @@ let mbWayBody = (~phoneNumber) => [ [ ( "mb_way_redirect", - [("telephone_number", phoneNumber->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_, + [("telephone_number", phoneNumber->JSON.Encode.string)] + ->Js.Dict.fromArray + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let twintBody = () => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "twint"->Js.Json.string), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "twint"->JSON.Encode.string), ( "payment_method_data", [ ( "wallet", - [("twint_redirect", Js.Dict.empty()->Js.Json.object_)]->Js.Dict.fromArray->Js.Json.object_, + [("twint_redirect", Js.Dict.empty()->JSON.Encode.object)] + ->Js.Dict.fromArray + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let vippsBody = () => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "vipps"->Js.Json.string), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "vipps"->JSON.Encode.string), ( "payment_method_data", [ ( "wallet", - [("vipps_redirect", Js.Dict.empty()->Js.Json.object_)]->Js.Dict.fromArray->Js.Json.object_, + [("vipps_redirect", Js.Dict.empty()->JSON.Encode.object)] + ->Js.Dict.fromArray + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let danaBody = () => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "dana"->Js.Json.string), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "dana"->JSON.Encode.string), ( "payment_method_data", [ ( "wallet", - [("dana_redirect", Js.Dict.empty()->Js.Json.object_)]->Js.Dict.fromArray->Js.Json.object_, + [("dana_redirect", Js.Dict.empty()->JSON.Encode.object)] + ->Js.Dict.fromArray + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let goPayBody = () => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "go_pay"->Js.Json.string), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "go_pay"->JSON.Encode.string), ( "payment_method_data", [ ( "wallet", - [("go_pay_redirect", Js.Dict.empty()->Js.Json.object_)]->Js.Dict.fromArray->Js.Json.object_, + [("go_pay_redirect", Js.Dict.empty()->JSON.Encode.object)] + ->Js.Dict.fromArray + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let kakaoPayBody = () => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "kakao_pay"->Js.Json.string), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "kakao_pay"->JSON.Encode.string), ( "payment_method_data", [ ( "wallet", - [("kakao_pay_redirect", Js.Dict.empty()->Js.Json.object_)] + [("kakao_pay_redirect", Js.Dict.empty()->JSON.Encode.object)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let gcashBody = () => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "gcash"->Js.Json.string), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "gcash"->JSON.Encode.string), ( "payment_method_data", [ ( "wallet", - [("gcash_redirect", Js.Dict.empty()->Js.Json.object_)]->Js.Dict.fromArray->Js.Json.object_, + [("gcash_redirect", Js.Dict.empty()->JSON.Encode.object)] + ->Js.Dict.fromArray + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let momoBody = () => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "momo"->Js.Json.string), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "momo"->JSON.Encode.string), ( "payment_method_data", [ ( "wallet", - [("momo_redirect", Js.Dict.empty()->Js.Json.object_)]->Js.Dict.fromArray->Js.Json.object_, + [("momo_redirect", Js.Dict.empty()->JSON.Encode.object)] + ->Js.Dict.fromArray + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let touchNGoBody = () => [ - ("payment_method", "wallet"->Js.Json.string), - ("payment_method_type", "touch_n_go"->Js.Json.string), + ("payment_method", "wallet"->JSON.Encode.string), + ("payment_method_type", "touch_n_go"->JSON.Encode.string), ( "payment_method_data", [ ( "wallet", - [("touch_n_go_redirect", Js.Dict.empty()->Js.Json.object_)] + [("touch_n_go_redirect", Js.Dict.empty()->JSON.Encode.object)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let bizumBody = () => [ - ("payment_method", "bank_redirect"->Js.Json.string), - ("payment_method_type", "bizum"->Js.Json.string), + ("payment_method", "bank_redirect"->JSON.Encode.string), + ("payment_method_type", "bizum"->JSON.Encode.string), ( "payment_method_data", [ ( "bank_redirect", - [("bizum", Js.Dict.empty()->Js.Json.object_)]->Js.Dict.fromArray->Js.Json.object_, + [("bizum", Js.Dict.empty()->JSON.Encode.object)]->Js.Dict.fromArray->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let rewardBody = (~paymentMethodType) => [ - ("payment_method", "reward"->Js.Json.string), - ("payment_method_type", paymentMethodType->Js.Json.string), - ("payment_method_data", "reward"->Js.Json.string), + ("payment_method", "reward"->JSON.Encode.string), + ("payment_method_type", paymentMethodType->JSON.Encode.string), + ("payment_method_data", "reward"->JSON.Encode.string), ] let fpxOBBody = (~bank) => [ - ("payment_method", "bank_redirect"->Js.Json.string), - ("payment_method_type", "online_banking_fpx"->Js.Json.string), + ("payment_method", "bank_redirect"->JSON.Encode.string), + ("payment_method_type", "online_banking_fpx"->JSON.Encode.string), ( "payment_method_data", [ @@ -1343,20 +1391,20 @@ let fpxOBBody = (~bank) => [ [ ( "online_banking_fpx", - [("issuer", bank->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_, + [("issuer", bank->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let thailandOBBody = (~bank) => [ - ("payment_method", "bank_redirect"->Js.Json.string), - ("payment_method_type", "online_banking_thailand"->Js.Json.string), + ("payment_method", "bank_redirect"->JSON.Encode.string), + ("payment_method_type", "online_banking_thailand"->JSON.Encode.string), ( "payment_method_data", [ @@ -1365,51 +1413,53 @@ let thailandOBBody = (~bank) => [ [ ( "online_banking_thailand", - [("issuer", bank->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_, + [("issuer", bank->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let almaBody = () => [ - ("payment_method", "pay_later"->Js.Json.string), - ("payment_method_type", "alma"->Js.Json.string), + ("payment_method", "pay_later"->JSON.Encode.string), + ("payment_method_type", "alma"->JSON.Encode.string), ( "payment_method_data", [ ( "pay_later", - [("alma", Js.Dict.empty()->Js.Json.object_)]->Js.Dict.fromArray->Js.Json.object_, + [("alma", Js.Dict.empty()->JSON.Encode.object)]->Js.Dict.fromArray->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let atomeBody = () => [ - ("payment_method", "pay_later"->Js.Json.string), - ("payment_method_type", "atome"->Js.Json.string), + ("payment_method", "pay_later"->JSON.Encode.string), + ("payment_method_type", "atome"->JSON.Encode.string), ( "payment_method_data", [ ( "pay_later", - [("atome_redirect", Js.Dict.empty()->Js.Json.object_)]->Js.Dict.fromArray->Js.Json.object_, + [("atome_redirect", Js.Dict.empty()->JSON.Encode.object)] + ->Js.Dict.fromArray + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let multibancoBody = (~email) => [ - ("payment_method", "bank_transfer"->Js.Json.string), - ("payment_method_type", "multibanco"->Js.Json.string), + ("payment_method", "bank_transfer"->JSON.Encode.string), + ("payment_method_type", "multibanco"->JSON.Encode.string), ( "payment_method_data", [ @@ -1421,74 +1471,76 @@ let multibancoBody = (~email) => [ [ ( "billing_details", - [("email", email->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_, + [("email", email->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] let cardRedirectBody = () => { [ - ("payment_method", "card_redirect"->Js.Json.string), - ("payment_method_type", "card_redirect"->Js.Json.string), + ("payment_method", "card_redirect"->JSON.Encode.string), + ("payment_method_type", "card_redirect"->JSON.Encode.string), ( "payment_method_data", [ ( "card_redirect", - [("card_redirect", Js.Dict.empty()->Js.Json.object_)]->Js.Dict.fromArray->Js.Json.object_, + [("card_redirect", Js.Dict.empty()->JSON.Encode.object)] + ->Js.Dict.fromArray + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] } let openBankingUKBody = () => { [ - ("payment_method", "bank_redirect"->Js.Json.string), - ("payment_method_type", "open_banking_uk"->Js.Json.string), + ("payment_method", "bank_redirect"->JSON.Encode.string), + ("payment_method_type", "open_banking_uk"->JSON.Encode.string), ( "payment_method_data", [ ( "bank_redirect", - [("open_banking_uk", Js.Dict.empty()->Js.Json.object_)] + [("open_banking_uk", Js.Dict.empty()->JSON.Encode.object)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] } let pixTransferBody = () => { [ - ("payment_method", "bank_transfer"->Js.Json.string), - ("payment_method_type", "pix"->Js.Json.string), + ("payment_method", "bank_transfer"->JSON.Encode.string), + ("payment_method_type", "pix"->JSON.Encode.string), ( "payment_method_data", [ ( "bank_transfer", - [("pix", Js.Dict.empty()->Js.Json.object_)]->Js.Dict.fromArray->Js.Json.object_, + [("pix", Js.Dict.empty()->JSON.Encode.object)]->Js.Dict.fromArray->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] } diff --git a/src/Utilities/PaymentHelpers.res b/src/Utilities/PaymentHelpers.res index b65b96a1..1b615244 100644 --- a/src/Utilities/PaymentHelpers.res +++ b/src/Utilities/PaymentHelpers.res @@ -10,7 +10,7 @@ open LoggerUtils type payment = Card | BankTransfer | BankDebits | KlarnaRedirect | Gpay | Applepay | Paypal | Other let closePaymentLoaderIfAny = () => - Utils.handlePostMessage([("fullscreen", false->Js.Json.boolean)]) + Utils.handlePostMessage([("fullscreen", false->JSON.Encode.bool)]) let retrievePaymentIntent = (clientSecret, headers, ~optLogger, ~switchToCustomPod) => { open Promise @@ -50,7 +50,7 @@ let retrievePaymentIntent = (clientSecret, headers, ~optLogger, ~switchToCustomP ~logCategory=API, (), ) - Js.Json.null->resolve + JSON.Encode.null->resolve }) } else { logApi( @@ -68,7 +68,7 @@ let retrievePaymentIntent = (clientSecret, headers, ~optLogger, ~switchToCustomP }) ->catch(e => { Js.log2("Unable to retrieve payment details because of ", e) - Js.Json.null->resolve + JSON.Encode.null->resolve }) } @@ -76,7 +76,7 @@ let rec pollRetrievePaymentIntent = (clientSecret, headers, ~optLogger, ~switchT open Promise retrievePaymentIntent(clientSecret, headers, ~optLogger, ~switchToCustomPod) ->then(json => { - let dict = json->Js.Json.decodeObject->Option.getOr(Js.Dict.empty()) + let dict = json->JSON.Decode.object->Option.getOr(Js.Dict.empty()) let status = dict->getString("status", "") if status === "succeeded" || status === "failed" { @@ -152,13 +152,13 @@ let rec intentCall = ( | Card => "CARD" | _ => bodyStr - ->Js.Json.parseExn + ->JSON.parseExn ->Utils.getDictFromJson ->Utils.getString("payment_method_type", "") } handleLogging( ~optLogger, - ~value=data->Js.Json.stringify, + ~value=data->JSON.stringify, ~eventName=PAYMENT_FAILED, ~paymentMethod, (), @@ -262,20 +262,20 @@ let rec intentCall = ( } let dict = deepCopyDict(metadata) dict->Js.Dict.set("data", data) - dict->Js.Dict.set("url", url.href->Js.Json.string) + dict->Js.Dict.set("url", url.href->JSON.Encode.string) handleLogging( ~optLogger, ~value="", - ~internalMetadata=dict->Js.Json.object_->Js.Json.stringify, + ~internalMetadata=dict->JSON.Encode.object->JSON.stringify, ~eventName=DISPLAY_BANK_TRANSFER_INFO_PAGE, ~paymentMethod, (), ) handlePostMessage([ - ("fullscreen", true->Js.Json.boolean), - ("param", `${intent.payment_method_type}BankTransfer`->Js.Json.string), - ("iframeId", iframeId->Js.Json.string), - ("metadata", dict->Js.Json.object_), + ("fullscreen", true->JSON.Encode.bool), + ("param", `${intent.payment_method_type}BankTransfer`->JSON.Encode.string), + ("iframeId", iframeId->JSON.Encode.string), + ("metadata", dict->JSON.Encode.object), ]) } else if intent.nextAction.type_ === "qr_code_information" { let qrData = intent.nextAction.image_data_url->Option.getOr("") @@ -284,30 +284,30 @@ let rec intentCall = ( headers->Js.Array2.forEach( entries => { let (x, val) = entries - Js.Dict.set(headerObj, x, val->Js.Json.string) + Js.Dict.set(headerObj, x, val->JSON.Encode.string) }, ) let metaData = [ - ("qrData", qrData->Js.Json.string), - ("paymentIntentId", clientSecret->Js.Json.string), - ("headers", headerObj->Js.Json.object_), - ("expiryTime", expiryTime->Belt.Float.toString->Js.Json.string), - ("url", url.href->Js.Json.string), + ("qrData", qrData->JSON.Encode.string), + ("paymentIntentId", clientSecret->JSON.Encode.string), + ("headers", headerObj->JSON.Encode.object), + ("expiryTime", expiryTime->Belt.Float.toString->JSON.Encode.string), + ("url", url.href->JSON.Encode.string), ]->Js.Dict.fromArray handleLogging( ~optLogger, ~value="", - ~internalMetadata=metaData->Js.Json.object_->Js.Json.stringify, + ~internalMetadata=metaData->JSON.Encode.object->JSON.stringify, ~eventName=DISPLAY_QR_CODE_INFO_PAGE, ~paymentMethod, (), ) handlePostMessage([ - ("fullscreen", true->Js.Json.boolean), - ("param", `qrData`->Js.Json.string), - ("iframeId", iframeId->Js.Json.string), - ("metadata", metaData->Js.Json.object_), + ("fullscreen", true->JSON.Encode.bool), + ("param", `qrData`->JSON.Encode.string), + ("iframeId", iframeId->JSON.Encode.string), + ("metadata", metaData->JSON.Encode.object), ]) } else if intent.nextAction.type_ === "display_voucher_information" { let voucherData = intent.nextAction.voucher_details->Option.getOr({ @@ -318,30 +318,30 @@ let rec intentCall = ( headers->Js.Array2.forEach( entries => { let (x, val) = entries - Js.Dict.set(headerObj, x, val->Js.Json.string) + Js.Dict.set(headerObj, x, val->JSON.Encode.string) }, ) let metaData = [ - ("voucherUrl", voucherData.download_url->Js.Json.string), - ("reference", voucherData.reference->Js.Json.string), - ("returnUrl", url.href->Js.Json.string), - ("paymentMethod", paymentMethod->Js.Json.string), + ("voucherUrl", voucherData.download_url->JSON.Encode.string), + ("reference", voucherData.reference->JSON.Encode.string), + ("returnUrl", url.href->JSON.Encode.string), + ("paymentMethod", paymentMethod->JSON.Encode.string), ("payment_intent_data", data), ]->Js.Dict.fromArray handleLogging( ~optLogger, ~value="", - ~internalMetadata=metaData->Js.Json.object_->Js.Json.stringify, + ~internalMetadata=metaData->JSON.Encode.object->JSON.stringify, ~eventName=DISPLAY_VOUCHER, ~paymentMethod, (), ) handlePostMessage([ - ("fullscreen", true->Js.Json.boolean), - ("param", `voucherData`->Js.Json.string), - ("iframeId", iframeId->Js.Json.string), - ("metadata", metaData->Js.Json.object_), + ("fullscreen", true->JSON.Encode.bool), + ("param", `voucherData`->JSON.Encode.string), + ("iframeId", iframeId->JSON.Encode.string), + ("metadata", metaData->JSON.Encode.object), ]) } else if intent.nextAction.type_ == "third_party_sdk_session_token" { let session_token = switch intent.nextAction.session_token { @@ -351,7 +351,7 @@ let rec intentCall = ( let walletName = session_token->Utils.getString("wallet_name", "") let message = switch walletName { | "apple_pay" => [ - ("applePayButtonClicked", true->Js.Json.boolean), + ("applePayButtonClicked", true->JSON.Encode.bool), ("applePayPresent", session_token->toJson), ] | "google_pay" => [("googlePayThirdPartyFlow", session_token->toJson)] @@ -386,7 +386,7 @@ let rec intentCall = ( let walletName = session_token->Utils.getString("wallet_name", "") let message = switch walletName { | "apple_pay" => [ - ("applePayButtonClicked", true->Js.Json.boolean), + ("applePayButtonClicked", true->JSON.Encode.bool), ("applePayPresent", session_token->toJson), ] | "google_pay" => [("googlePayThirdPartyFlow", session_token->toJson)] @@ -544,31 +544,31 @@ let rec maskPayload = payloadDict => { let maskedPayload = Js.Dict.empty() keys ->Js.Array2.map(key => { - let value = payloadDict->Js.Dict.get(key)->Option.getOr(Js.Json.null) - if value->Js.Json.decodeArray->Option.isSome { - let arr = value->Js.Json.decodeArray->Option.getOr([]) + let value = payloadDict->Js.Dict.get(key)->Option.getOr(JSON.Encode.null) + if value->JSON.Decode.array->Option.isSome { + let arr = value->JSON.Decode.array->Option.getOr([]) arr->Js.Array2.forEachi((element, index) => { maskedPayload->Js.Dict.set( key ++ "[" ++ index->Belt.Int.toString ++ "]", - element->Utils.getDictFromJson->maskPayload->Js.Json.string, + element->Utils.getDictFromJson->maskPayload->JSON.Encode.string, ) }) - } else if value->Js.Json.decodeObject->Option.isSome { + } else if value->JSON.Decode.object->Option.isSome { let valueDict = value->Utils.getDictFromJson - maskedPayload->Js.Dict.set(key, valueDict->maskPayload->Js.Json.string) + maskedPayload->Js.Dict.set(key, valueDict->maskPayload->JSON.Encode.string) } else { maskedPayload->Js.Dict.set( key, value - ->Js.Json.decodeString + ->JSON.Decode.string ->Option.getOr("") ->Js.String2.replaceByRe(%re(`/\S/g`), "x") - ->Js.Json.string, + ->JSON.Encode.string, ) } }) ->ignore - maskedPayload->Js.Json.object_->Js.Json.stringify + maskedPayload->JSON.Encode.object->JSON.stringify } let usePaymentIntent = (optLogger: option, paymentType: payment) => { @@ -581,7 +581,7 @@ let usePaymentIntent = (optLogger: option, paymentType: p ) ( ~handleUserError=false, - ~bodyArr: array<(string, Js.Json.t)>, + ~bodyArr: array<(string, JSON.t)>, ~confirmParam: ConfirmType.confirmParams, ~iframeId="", (), @@ -590,12 +590,12 @@ let usePaymentIntent = (optLogger: option, paymentType: p | Some(clientSecret) => let paymentIntentID = Js.String2.split(clientSecret, "_secret_")[0]->Option.getOr("") let headers = [("Content-Type", "application/json"), ("api-key", confirmParam.publishableKey)] - let returnUrlArr = [("return_url", confirmParam.return_url->Js.Json.string)] + let returnUrlArr = [("return_url", confirmParam.return_url->JSON.Encode.string)] let manual_retry = isManualRetryEnabled - ? [("retry_action", "manual_retry"->Js.Json.string)] + ? [("retry_action", "manual_retry"->JSON.Encode.string)] : [] let body = - [("client_secret", clientSecret->Js.Json.string)]->Js.Array2.concatMany([ + [("client_secret", clientSecret->JSON.Encode.string)]->Js.Array2.concatMany([ returnUrlArr, manual_retry, ]) @@ -611,26 +611,26 @@ let usePaymentIntent = (optLogger: option, paymentType: p let maskedPayload = body ->OrcaUtils.safeParseOpt - ->Option.getOr(Js.Json.null) + ->Option.getOr(JSON.Encode.null) ->Utils.getDictFromJson ->maskPayload let loggerPayload = [ - ("payload", maskedPayload->Js.Json.string), + ("payload", maskedPayload->JSON.Encode.string), ( "headers", headers ->Js.Array2.map(header => { let (key, value) = header - (key, value->Js.Json.string) + (key, value->JSON.Encode.string) }) ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ] ->Js.Dict.fromArray - ->Js.Json.object_ - ->Js.Json.stringify + ->JSON.Encode.object + ->JSON.stringify switch paymentType { | Card => handleLogging( @@ -649,7 +649,7 @@ let usePaymentIntent = (optLogger: option, paymentType: p ~value="", ~internalMetadata=loggerPayload, ~eventName=PAYMENT_ATTEMPT, - ~paymentMethod=json->Js.Json.decodeString->Option.getOr(""), + ~paymentMethod=json->JSON.Decode.string->Option.getOr(""), (), ) } @@ -657,7 +657,7 @@ let usePaymentIntent = (optLogger: option, paymentType: p }) } if blockConfirm && Window.isInteg { - Js.log3("CONFIRM IS BLOCKED", body->Js.Json.parseExn, headers) + Js.log3("CONFIRM IS BLOCKED", body->JSON.parseExn, headers) } else { intentCall( ~fetchApi, @@ -685,8 +685,8 @@ let usePaymentIntent = (optLogger: option, paymentType: p body ->Js.Array2.concat(bodyArr->Js.Array2.concat(broswerInfo())) ->Js.Dict.fromArray - ->Js.Json.object_ - ->Js.Json.stringify + ->JSON.Encode.object + ->JSON.stringify callIntent(bodyStr) } let intentWithMandate = mandatePaymentType => { @@ -699,8 +699,8 @@ let usePaymentIntent = (optLogger: option, paymentType: p ]), ) ->Js.Dict.fromArray - ->Js.Json.object_ - ->Js.Json.stringify + ->JSON.Encode.object + ->JSON.stringify callIntent(bodyStr) } @@ -749,13 +749,13 @@ let useSessions = ( Js.String2.split(clientSecret, "_secret_")->Belt.Array.get(0)->Option.getOr("") let body = [ - ("payment_id", paymentIntentID->Js.Json.string), - ("client_secret", clientSecret->Js.Json.string), - ("wallets", wallets->Js.Json.array), - ("delayed_session_token", isDelayedSessionToken->Js.Json.boolean), + ("payment_id", paymentIntentID->JSON.Encode.string), + ("client_secret", clientSecret->JSON.Encode.string), + ("wallets", wallets->JSON.Encode.array), + ("delayed_session_token", isDelayedSessionToken->JSON.Encode.bool), ] ->Js.Dict.fromArray - ->Js.Json.object_ + ->JSON.Encode.object let uri = `${endpoint}/payments/session_tokens` logApi( ~optLogger, @@ -769,7 +769,7 @@ let useSessions = ( fetchApi( uri, ~method_=Fetch.Post, - ~bodyStr=body->Js.Json.stringify, + ~bodyStr=body->JSON.stringify, ~headers=headers->ApiEndpoint.addCustomPodHeader(~switchToCustomPod, ()), (), ) @@ -790,7 +790,7 @@ let useSessions = ( ~logCategory=API, (), ) - Js.Json.null->resolve + JSON.Encode.null->resolve }) } else { logApi( @@ -818,7 +818,7 @@ let useSessions = ( ~data=exceptionMessage, (), ) - Js.Json.null->resolve + JSON.Encode.null->resolve }) } @@ -864,7 +864,7 @@ let usePaymentMethodList = ( ~logCategory=API, (), ) - Js.Json.null->resolve + JSON.Encode.null->resolve }) } else { logApi( @@ -892,7 +892,7 @@ let usePaymentMethodList = ( ~data=exceptionMessage, (), ) - Js.Json.null->resolve + JSON.Encode.null->resolve }) } @@ -938,7 +938,7 @@ let useCustomerDetails = ( ~logCategory=API, (), ) - Js.Json.null->resolve + JSON.Encode.null->resolve }) } else { logApi( @@ -966,6 +966,6 @@ let useCustomerDetails = ( ~data=exceptionMessage, (), ) - Js.Json.null->resolve + JSON.Encode.null->resolve }) } diff --git a/src/Utilities/RecoilAtoms.res b/src/Utilities/RecoilAtoms.res index 60ec75e1..ddc8da91 100644 --- a/src/Utilities/RecoilAtoms.res +++ b/src/Utilities/RecoilAtoms.res @@ -1,4 +1,4 @@ -type load = Loading | Loaded(Js.Json.t) | LoadError +type load = Loading | Loaded(JSON.t) | LoadError let keys = Recoil.atom(. "keys", CommonHooks.defaultkeys) let configAtom = Recoil.atom(. "defaultRecoilConfig", CardTheme.defaultRecoilConfig) diff --git a/src/Utilities/Utils.res b/src/Utilities/Utils.res index 683a4c33..0da6b809 100644 --- a/src/Utilities/Utils.res +++ b/src/Utilities/Utils.res @@ -4,12 +4,12 @@ type parent @val external window: window = "window" @val @scope("window") external iframeParent: parent = "parent" type event = {data: string} -external eventToJson: event => Js.Json.t = "%identity" -external toJson: 'a => Js.Json.t = "%identity" +external eventToJson: event => JSON.t = "%identity" +external toJson: 'a => JSON.t = "%identity" external dictToObj: Js.Dict.t<'a> => {..} = "%identity" @module("./Phone_number.json") -external phoneNumberJson: Js.Json.t = "default" +external phoneNumberJson: JSON.t = "default" type options = {timeZone: string} type dateTimeFormat = {resolvedOptions: (. unit) => options} @@ -17,32 +17,32 @@ type dateTimeFormat = {resolvedOptions: (. unit) => options} @send external remove: Dom.element => unit = "remove" -@send external postMessage: (parent, Js.Json.t, string) => unit = "postMessage" +@send external postMessage: (parent, JSON.t, string) => unit = "postMessage" open ErrorUtils let handlePostMessage = (~targetOrigin="*", messageArr) => { - iframeParent->postMessage(messageArr->Js.Dict.fromArray->Js.Json.object_, targetOrigin) + iframeParent->postMessage(messageArr->Js.Dict.fromArray->JSON.Encode.object, targetOrigin) } let handleOnFocusPostMessage = (~targetOrigin="*", ()) => { - handlePostMessage([("focus", true->Js.Json.boolean)], ~targetOrigin) + handlePostMessage([("focus", true->JSON.Encode.bool)], ~targetOrigin) } let handleOnBlurPostMessage = (~targetOrigin="*", ()) => { - handlePostMessage([("blur", true->Js.Json.boolean)], ~targetOrigin) + handlePostMessage([("blur", true->JSON.Encode.bool)], ~targetOrigin) } let handleOnClickPostMessage = (~targetOrigin="*", ev) => { handlePostMessage( - [("clickTriggered", true->Js.Json.boolean), ("event", ev->Js.Json.stringify->Js.Json.string)], + [("clickTriggered", true->JSON.Encode.bool), ("event", ev->JSON.stringify->JSON.Encode.string)], ~targetOrigin, ) } let handleOnConfirmPostMessage = (~targetOrigin="*", ~isOneClick=false, ()) => { let message = isOneClick ? "oneClickConfirmTriggered" : "confirmTriggered" - handlePostMessage([(message, true->Js.Json.boolean)], ~targetOrigin) + handlePostMessage([(message, true->JSON.Encode.bool)], ~targetOrigin) } let getOptionString = (dict, key) => { - dict->Js.Dict.get(key)->Option.flatMap(Js.Json.decodeString) + dict->Js.Dict.get(key)->Option.flatMap(JSON.Decode.string) } let getString = (dict, key, default) => { @@ -52,34 +52,34 @@ let getString = (dict, key, default) => { let getInt = (dict, key, default: int) => { dict ->Js.Dict.get(key) - ->Option.flatMap(Js.Json.decodeNumber) + ->Option.flatMap(JSON.Decode.float) ->Option.getOr(default->Belt.Int.toFloat) ->Belt.Float.toInt } let getJsonBoolValue = (dict, key, default) => { - dict->Js.Dict.get(key)->Option.getOr(default->Js.Json.boolean) + dict->Js.Dict.get(key)->Option.getOr(default->JSON.Encode.bool) } let getJsonStringFromDict = (dict, key, default) => { - dict->Js.Dict.get(key)->Option.getOr(default->Js.Json.string) + dict->Js.Dict.get(key)->Option.getOr(default->JSON.Encode.string) } let getJsonArrayFromDict = (dict, key, default) => { - dict->Js.Dict.get(key)->Option.getOr(default->Js.Json.array) + dict->Js.Dict.get(key)->Option.getOr(default->JSON.Encode.array) } let getJsonFromDict = (dict, key, default) => { dict->Js.Dict.get(key)->Option.getOr(default) } let getJsonObjFromDict = (dict, key, default) => { - dict->Js.Dict.get(key)->Option.flatMap(Js.Json.decodeObject)->Option.getOr(default) + dict->Js.Dict.get(key)->Option.flatMap(JSON.Decode.object)->Option.getOr(default) } let getDecodedStringFromJson = (json, callbackFunc, defaultValue) => { json - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.flatMap(callbackFunc) - ->Option.flatMap(Js.Json.decodeString) + ->Option.flatMap(JSON.Decode.string) ->Option.getOr(defaultValue) } @@ -100,7 +100,7 @@ let getRequiredString = (dict, key, default, ~logger) => { let getWarningString = (dict, key, default, ~logger) => { switch dict->Js.Dict.get(key) { | Some(val) => - switch val->Js.Json.decodeString { + switch val->JSON.Decode.string { | Some(val) => val | None => manageErrorWarning(TYPE_STRING_ERROR, ~dynamicStr=key, ~logger, ()) @@ -111,17 +111,17 @@ let getWarningString = (dict, key, default, ~logger) => { } let getDictFromObj = (dict, key) => { - dict->Js.Dict.get(key)->Option.flatMap(Js.Json.decodeObject)->Option.getOr(Js.Dict.empty()) + dict->Js.Dict.get(key)->Option.flatMap(JSON.Decode.object)->Option.getOr(Js.Dict.empty()) } let getJsonObjectFromDict = (dict, key) => { - dict->Js.Dict.get(key)->Option.getOr(Js.Json.object_(Js.Dict.empty())) + dict->Js.Dict.get(key)->Option.getOr(JSON.Encode.object(Js.Dict.empty())) } let getOptionBool = (dict, key) => { - dict->Js.Dict.get(key)->Option.flatMap(Js.Json.decodeBoolean) + dict->Js.Dict.get(key)->Option.flatMap(JSON.Decode.bool) } -let getDictFromJson = (json: Js.Json.t) => { - json->Js.Json.decodeObject->Option.getOr(Js.Dict.empty()) +let getDictFromJson = (json: JSON.t) => { + json->JSON.Decode.object->Option.getOr(Js.Dict.empty()) } let getBool = (dict, key, default) => { @@ -131,7 +131,7 @@ let getBool = (dict, key, default) => { let getBoolWithWarning = (dict, key, default, ~logger) => { switch dict->Js.Dict.get(key) { | Some(val) => - switch val->Js.Json.decodeBoolean { + switch val->JSON.Decode.bool { | Some(val) => val | None => manageErrorWarning(TYPE_BOOL_ERROR, ~dynamicStr=key, ~logger, ()) @@ -143,7 +143,7 @@ let getBoolWithWarning = (dict, key, default, ~logger) => { let getNumberWithWarning = (dict, key, ~logger, default) => { switch dict->Js.Dict.get(key) { | Some(val) => - switch val->Js.Json.decodeNumber { + switch val->JSON.Decode.float { | Some(val) => val->Belt.Float.toInt | None => manageErrorWarning(TYPE_INT_ERROR, ~dynamicStr=key, ~logger, ()) @@ -154,7 +154,7 @@ let getNumberWithWarning = (dict, key, ~logger, default) => { } let getOptionalArrayFromDict = (dict, key) => { - dict->Js.Dict.get(key)->Option.flatMap(Js.Json.decodeArray) + dict->Js.Dict.get(key)->Option.flatMap(JSON.Decode.array) } let getArray = (dict, key) => { dict->getOptionalArrayFromDict(key)->Option.getOr([]) @@ -164,14 +164,14 @@ let getStrArray = (dict, key) => { dict ->getOptionalArrayFromDict(key) ->Option.getOr([]) - ->Belt.Array.map(json => json->Js.Json.decodeString->Option.getOr("")) + ->Belt.Array.map(json => json->JSON.Decode.string->Option.getOr("")) } -let getOptionalStrArray: (Js.Dict.t, string) => option> = (dict, key) => { +let getOptionalStrArray: (Js.Dict.t, string) => option> = (dict, key) => { switch dict->getOptionalArrayFromDict(key) { | Some(val) => val->Js.Array2.length === 0 ? None - : Some(val->Belt.Array.map(json => json->Js.Json.decodeString->Option.getOr(""))) + : Some(val->Belt.Array.map(json => json->JSON.Decode.string->Option.getOr(""))) | None => None } } @@ -231,8 +231,8 @@ let mergeJsons = (json1, json2) => { if defaultProp->getDictFromJson->Js.Dict.keys->Js.Array.length == 0 { obj1->Js.Dict.set(key, overrideProp) } else if ( - overrideProp->Js.Json.decodeObject->Option.isSome && - defaultProp->Js.Json.decodeObject->Option.isSome + overrideProp->JSON.Decode.object->Option.isSome && + defaultProp->JSON.Decode.object->Option.isSome ) { merge(defaultProp->getDictFromJson, overrideProp->getDictFromJson) } else if overrideProp !== defaultProp { @@ -246,22 +246,25 @@ let mergeJsons = (json1, json2) => { }->ignore } merge(obj1, obj2)->ignore - obj1->Js.Json.object_ + obj1->JSON.Encode.object } let postFailedSubmitResponse = (~errortype, ~message) => { let errorDict = - [("type", errortype->Js.Json.string), ("message", message->Js.Json.string)]->Js.Dict.fromArray + [ + ("type", errortype->JSON.Encode.string), + ("message", message->JSON.Encode.string), + ]->Js.Dict.fromArray handlePostMessage([ - ("submitSuccessful", false->Js.Json.boolean), - ("error", errorDict->Js.Json.object_), + ("submitSuccessful", false->JSON.Encode.bool), + ("error", errorDict->JSON.Encode.object), ]) } let postSubmitResponse = (~jsonData, ~url) => { handlePostMessage([ - ("submitSuccessful", true->Js.Json.boolean), + ("submitSuccessful", true->JSON.Encode.bool), ("data", jsonData), - ("url", url->Js.Json.string), + ("url", url->JSON.Encode.string), ]) } @@ -283,7 +286,7 @@ let toSnakeCase = str => { ) } type case = CamelCase | SnakeCase | KebabCase -let rec transformKeys = (json: Js.Json.t, to: case) => { +let rec transformKeys = (json: JSON.t, to: case) => { let toCase = switch to { | CamelCase => toCamelCase | SnakeCase => toSnakeCase @@ -293,23 +296,23 @@ let rec transformKeys = (json: Js.Json.t, to: case) => { dict ->Js.Dict.entries ->Js.Array2.map(((key, value)) => { - let x = switch Js.Json.classify(value) { - | JSONObject(obj) => (key->toCase, obj->Js.Json.object_->transformKeys(to)) - | JSONArray(arr) => ( + let x = switch JSON.Classify.classify(value) { + | Object(obj) => (key->toCase, obj->JSON.Encode.object->transformKeys(to)) + | Array(arr) => ( key->toCase, { arr ->Js.Array2.map(item => - if item->Js.Json.decodeObject->Option.isSome { + if item->JSON.Decode.object->Option.isSome { item->transformKeys(to) } else { item } ) - ->Js.Json.array + ->JSON.Encode.array }, ) - | JSONString(str) => { + | String(str) => { let val = if str == "Final" { "FINAL" } else if str == "example" || str == "Adyen" { @@ -317,15 +320,15 @@ let rec transformKeys = (json: Js.Json.t, to: case) => { } else { str } - (key->toCase, val->Js.Json.string) + (key->toCase, val->JSON.Encode.string) } - | JSONNumber(val) => (key->toCase, val->Belt.Float.toString->Js.Json.string) + | Number(val) => (key->toCase, val->Belt.Float.toString->JSON.Encode.string) | _ => (key->toCase, value) } x }) ->Js.Dict.fromArray - ->Js.Json.object_ + ->JSON.Encode.object } let getClientCountry = clientTimeZone => { @@ -379,24 +382,24 @@ let checkEmailValid = ( } let validatePhoneNumber = (countryCode, number) => { - let phoneNumberDict = phoneNumberJson->Js.Json.decodeObject->Option.getOr(Js.Dict.empty()) + let phoneNumberDict = phoneNumberJson->JSON.Decode.object->Option.getOr(Js.Dict.empty()) let countriesArr = phoneNumberDict ->Js.Dict.get("countries") - ->Option.flatMap(Js.Json.decodeArray) + ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) - ->Belt.Array.keepMap(Js.Json.decodeObject) + ->Belt.Array.keepMap(JSON.Decode.object) let filteredArr = countriesArr->Js.Array2.filter(countryObj => { countryObj ->Js.Dict.get("phone_number_code") - ->Option.flatMap(Js.Json.decodeString) + ->Option.flatMap(JSON.Decode.string) ->Option.getOr("") == countryCode }) switch filteredArr[0] { | Some(obj) => let regex = - obj->Js.Dict.get("validation_regex")->Option.flatMap(Js.Json.decodeString)->Option.getOr("") + obj->Js.Dict.get("validation_regex")->Option.flatMap(JSON.Decode.string)->Option.getOr("") Js.Re.test_(regex->Js.Re.fromString, number) | None => false } @@ -465,19 +468,19 @@ let constructClass = (~classname, ~dict) => { let (key, value) = entry let class = if !(key->Js.String2.startsWith(":")) && !(key->Js.String2.startsWith(".")) { - switch value->Js.Json.decodeString { + switch value->JSON.Decode.string { | Some(str) => `${key->toKebabCase}:${str}` | None => "" } } else if key->Js.String2.startsWith(":") { - switch value->Js.Json.decodeObject { + switch value->JSON.Decode.object { | Some(obj) => let style = obj ->Js.Dict.entries ->Js.Array2.map(entry => { let (key, value) = entry - switch value->Js.Json.decodeString { + switch value->JSON.Decode.string { | Some(str) => `${key->toKebabCase}:${str}` | None => "" } @@ -487,14 +490,14 @@ let constructClass = (~classname, ~dict) => { | None => "" } } else if key->Js.String2.startsWith(".") { - switch value->Js.Json.decodeObject { + switch value->JSON.Decode.object { | Some(obj) => let style = obj ->Js.Dict.entries ->Js.Array2.map(entry => { let (key, value) = entry - switch value->Js.Json.decodeString { + switch value->JSON.Decode.string { | Some(str) => `${key->toKebabCase}:${str}` | None => "" } @@ -539,11 +542,11 @@ let generateStyleSheet = (classname, dict, id) => { } } let openUrl = url => { - handlePostMessage([("openurl", url->Js.Json.string)]) + handlePostMessage([("openurl", url->JSON.Encode.string)]) } let getArrofJsonString = (arr: array) => { - arr->Js.Array2.map(item => item->Js.Json.string) + arr->Js.Array2.map(item => item->JSON.Encode.string) } let getPaymentDetails = (arr: array) => { @@ -627,10 +630,10 @@ let handlePostMessageEvents = ( ) } handlePostMessage([ - ("elementType", "payment"->Js.Json.string), - ("complete", complete->Js.Json.boolean), - ("empty", empty->Js.Json.boolean), - ("value", [("type", paymentType->Js.Json.string)]->Js.Dict.fromArray->Js.Json.object_), + ("elementType", "payment"->JSON.Encode.string), + ("complete", complete->JSON.Encode.bool), + ("empty", empty->JSON.Encode.bool), + ("value", [("type", paymentType->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object), ]) } @@ -642,7 +645,7 @@ let getCountryCode = country => { ->Option.getOr(Country.defaultTimeZone) } -let getStateNames = (list: Js.Json.t, country: RecoilAtomTypes.field) => { +let getStateNames = (list: JSON.t, country: RecoilAtomTypes.field) => { let options = list ->getDictFromJson @@ -655,7 +658,7 @@ let getStateNames = (list: Js.Json.t, country: RecoilAtomTypes.field) => { item ->getDictFromJson ->Js.Dict.get("name") - ->Option.flatMap(Js.Json.decodeString) + ->Option.flatMap(JSON.Decode.string) ->Option.getOr(""), ) ->ignore @@ -814,12 +817,12 @@ let formatException = exc => { let getArrayValFromJsonDict = (dict, key, arrayKey) => { dict ->Js.Dict.get(key) - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.getOr(Js.Dict.empty()) ->Js.Dict.get(arrayKey) - ->Option.flatMap(Js.Json.decodeArray) + ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) - ->Belt.Array.keepMap(Js.Json.decodeString) + ->Belt.Array.keepMap(JSON.Decode.string) } let isOtherElements = componentType => { diff --git a/src/Window.res b/src/Window.res index 4b327b81..16b03077 100644 --- a/src/Window.res +++ b/src/Window.res @@ -57,7 +57,7 @@ external contentWindow: Dom.element => Dom.element = "contentWindow" external style: Dom.element => style = "style" @set external setTransition: (style, string) => unit = "transition" @set external setHeight: (style, string) => unit = "height" -@send external paymentRequest: (Js.Json.t, Js.Json.t, Js.Json.t) => Js.Json.t = "PaymentRequest" +@send external paymentRequest: (JSON.t, JSON.t, JSON.t) => JSON.t = "PaymentRequest" @send external click: Dom.element => unit = "click" let iframePostMessage = (iframeRef: Js.nullable, message) => { @@ -66,7 +66,7 @@ let iframePostMessage = (iframeRef: Js.nullable, message) => { try { ref ->contentWindow - ->postMessage(message->Js.Json.object_->Js.Json.stringify, GlobalVars.targetOrigin) + ->postMessage(message->JSON.Encode.object->JSON.stringify, GlobalVars.targetOrigin) } catch { | _ => () } diff --git a/src/orca-loader/Elements.res b/src/orca-loader/Elements.res index 6a0e828e..e624edd3 100644 --- a/src/orca-loader/Elements.res +++ b/src/orca-loader/Elements.res @@ -6,14 +6,14 @@ open EventListenerManager open ApplePayTypes -external objToJson: {..} => Js.Json.t = "%identity" -external eventToJson: Types.eventData => Js.Json.t = "%identity" +external objToJson: {..} => JSON.t = "%identity" +external eventToJson: Types.eventData => JSON.t = "%identity" type trustPayFunctions = { - finishApplePaymentV2: (. string, ApplePayTypes.paymentRequestData) => Js.Promise.t, - executeGooglePayment: (. string, GooglePayType.paymentDataRequest) => Js.Promise.t, + finishApplePaymentV2: (. string, ApplePayTypes.paymentRequestData) => Js.Promise.t, + executeGooglePayment: (. string, GooglePayType.paymentDataRequest) => Js.Promise.t, } -@new external trustPayApi: Js.Json.t => trustPayFunctions = "TrustPayApi" +@new external trustPayApi: JSON.t => trustPayFunctions = "TrustPayApi" let make = ( options, @@ -31,31 +31,31 @@ let make = ( let iframeRef = [] let logger = logger->Option.getOr(OrcaLogger.defaultLoggerConfig) let savedPaymentElement = Js.Dict.empty() - let localOptions = options->Js.Json.decodeObject->Option.getOr(Js.Dict.empty()) + let localOptions = options->JSON.Decode.object->Option.getOr(Js.Dict.empty()) let endpoint = ApiEndpoint.getApiEndPoint(~publishableKey, ()) let appearance = - localOptions->Js.Dict.get("appearance")->Option.getOr(Js.Dict.empty()->Js.Json.object_) + localOptions->Js.Dict.get("appearance")->Option.getOr(Js.Dict.empty()->JSON.Encode.object) let fonts = localOptions ->Js.Dict.get("fonts") - ->Option.flatMap(Js.Json.decodeArray) + ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) - ->Js.Json.array + ->JSON.Encode.array let blockConfirm = GlobalVars.isInteg && options - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.flatMap(x => x->Js.Dict.get("blockConfirm")) - ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(false) let switchToCustomPod = GlobalVars.isInteg && options - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.flatMap(x => x->Js.Dict.get("switchToCustomPod")) - ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(false) let paymentMethodListPromise = PaymentHelpers.usePaymentMethodList( @@ -145,10 +145,12 @@ let make = ( }) ->catch(_err => { let dict = - [("customer_payment_methods", []->Js.Json.array)]->Js.Dict.fromArray->Js.Json.object_ + [("customer_payment_methods", []->JSON.Encode.array)] + ->Js.Dict.fromArray + ->JSON.Encode.object let msg = [("customerPaymentMethods", dict)]->Js.Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) - resolve(msg->Js.Json.object_) + resolve(msg->JSON.Encode.object) }) ->ignore } @@ -187,15 +189,15 @@ let make = ( iframeRef->Js.Array2.forEach(iframe => { let message = [ - ("ElementsUpdate", true->Js.Json.boolean), - ("options", newOptionsDict->Js.Json.object_), + ("ElementsUpdate", true->JSON.Encode.bool), + ("options", newOptionsDict->JSON.Encode.object), ]->Js.Dict.fromArray iframe->Window.iframePostMessage(message) }) } let fetchUpdates = () => { Js.Promise.make((~resolve, ~reject as _) => { - Js.Global.setTimeout(() => resolve(. Js.Dict.empty()->Js.Json.object_), 1000)->ignore + Js.Global.setTimeout(() => resolve(. Js.Dict.empty()->JSON.Encode.object), 1000)->ignore }) } @@ -224,31 +226,31 @@ let make = ( let widgetOptions = [ - ("clientSecret", clientSecret->Js.Json.string), + ("clientSecret", clientSecret->JSON.Encode.string), ("appearance", appearance), ("locale", locale), ("loader", loader), ("fonts", fonts), ] ->Js.Dict.fromArray - ->Js.Json.object_ + ->JSON.Encode.object let message = [ - ("paymentElementCreate", (componentType == "payment")->Js.Json.boolean), - ("otherElements", otherElements->Js.Json.boolean), + ("paymentElementCreate", (componentType == "payment")->JSON.Encode.bool), + ("otherElements", otherElements->JSON.Encode.bool), ("options", newOptions), - ("componentType", componentType->Js.Json.string), + ("componentType", componentType->JSON.Encode.string), ("paymentOptions", widgetOptions), - ("iframeId", selectorString->Js.Json.string), - ("publishableKey", publishableKey->Js.Json.string), - ("endpoint", endpoint->Js.Json.string), - ("sdkSessionId", sdkSessionId->Js.Json.string), - ("sdkHandleConfirmPayment", sdkHandleConfirmPayment->Js.Json.boolean), - ("blockConfirm", blockConfirm->Js.Json.boolean), - ("switchToCustomPod", switchToCustomPod->Js.Json.boolean), - ("endpoint", endpoint->Js.Json.string), - ("sdkHandleOneClickConfirmPayment", sdkHandleOneClickConfirmPayment->Js.Json.boolean), - ("parentURL", "*"->Js.Json.string), + ("iframeId", selectorString->JSON.Encode.string), + ("publishableKey", publishableKey->JSON.Encode.string), + ("endpoint", endpoint->JSON.Encode.string), + ("sdkSessionId", sdkSessionId->JSON.Encode.string), + ("sdkHandleConfirmPayment", sdkHandleConfirmPayment->JSON.Encode.bool), + ("blockConfirm", blockConfirm->JSON.Encode.bool), + ("switchToCustomPod", switchToCustomPod->JSON.Encode.bool), + ("endpoint", endpoint->JSON.Encode.string), + ("sdkHandleOneClickConfirmPayment", sdkHandleOneClickConfirmPayment->JSON.Encode.bool), + ("parentURL", "*"->JSON.Encode.string), ("analyticsMetadata", analyticsMetadata), ]->Js.Dict.fromArray @@ -260,7 +262,7 @@ let make = ( switch sessionForApplePay->Js.Nullable.toOption { | Some(session) => if session.canMakePayments(.) { - let msg = [("applePayCanMakePayments", true->Js.Json.boolean)]->Js.Dict.fromArray + let msg = [("applePayCanMakePayments", true->JSON.Encode.bool)]->Js.Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) } else { logger.setLogInfo( @@ -294,7 +296,7 @@ let make = ( } let paymentDataRequest = GooglePayType.assign2( - Js.Dict.empty()->Js.Json.object_, + Js.Dict.empty()->JSON.Encode.object, baseDetails->objToJson, ) @@ -303,7 +305,7 @@ let make = ( googlePayThirdPartySession, ) let secrets = - googlePayThirdPartySession->Utils.getJsonFromDict("secrets", Js.Json.null) + googlePayThirdPartySession->Utils.getJsonFromDict("secrets", JSON.Encode.null) let payment = secrets->Utils.getDictFromJson->Utils.getString("payment", "") @@ -313,17 +315,17 @@ let make = ( ->then(res => { logger.setLogInfo( ~value="TrustPay GooglePay Success Response", - ~internalMetadata=res->Js.Json.stringify, + ~internalMetadata=res->JSON.stringify, ~eventName=GOOGLE_PAY_FLOW, ~paymentMethod="GOOGLE_PAY", (), ) - let msg = [("googlePaySyncPayment", true->Js.Json.boolean)]->Js.Dict.fromArray + let msg = [("googlePaySyncPayment", true->JSON.Encode.bool)]->Js.Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) resolve() }) ->catch(err => { - let exceptionMessage = err->Utils.formatException->Js.Json.stringify + let exceptionMessage = err->Utils.formatException->JSON.stringify logger.setLogInfo( ~value=exceptionMessage, ~eventName=GOOGLE_PAY_FLOW, @@ -332,14 +334,14 @@ let make = ( ~logCategory=USER_ERROR, (), ) - let msg = [("googlePaySyncPayment", true->Js.Json.boolean)]->Js.Dict.fromArray + let msg = [("googlePaySyncPayment", true->JSON.Encode.bool)]->Js.Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) resolve() }) ->ignore } catch { | err => { - let exceptionMessage = err->Utils.formatException->Js.Json.stringify + let exceptionMessage = err->Utils.formatException->JSON.stringify logger.setLogInfo( ~value=exceptionMessage, ~eventName=GOOGLE_PAY_FLOW, @@ -348,7 +350,7 @@ let make = ( ~logCategory=USER_ERROR, (), ) - let msg = [("googlePaySyncPayment", true->Js.Json.boolean)]->Js.Dict.fromArray + let msg = [("googlePaySyncPayment", true->JSON.Encode.bool)]->Js.Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) } } @@ -364,37 +366,37 @@ let make = ( ->then(json => { let sessionsArr = json - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.getOr(Js.Dict.empty()) ->SessionsType.getSessionsTokenJson("session_token") let applePayPresent = sessionsArr->Js.Array2.find(item => { let x = item - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.flatMap( x => { x->Js.Dict.get("wallet_name") }, ) - ->Option.flatMap(Js.Json.decodeString) + ->Option.flatMap(JSON.Decode.string) ->Option.getOr("") x === "apple_pay" || x === "applepay" }) if !(applePayPresent->Option.isSome) { - let msg = [("applePaySessionObjNotPresent", true->Js.Json.boolean)]->Js.Dict.fromArray + let msg = [("applePaySessionObjNotPresent", true->JSON.Encode.bool)]->Js.Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) } let googlePayPresent = sessionsArr->Js.Array2.find(item => { let x = item - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.flatMap( x => { x->Js.Dict.get("wallet_name") }, ) - ->Option.flatMap(Js.Json.decodeString) + ->Option.flatMap(JSON.Decode.string) ->Option.getOr("") x === "google_pay" || x === "googlepay" }) @@ -405,7 +407,7 @@ let make = ( let (json, applePayPresent, googlePayPresent) = res if componentType === "payment" && applePayPresent->Option.isSome { //do operations here - let processPayment = (token: Js.Json.t) => { + let processPayment = (token: JSON.t) => { //let body = PaymentBody.applePayBody(~token) let msg = [("applePayProcessPayment", token)]->Js.Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) @@ -418,14 +420,14 @@ let make = ( let dict = json->getDictFromJson switch dict->Js.Dict.get("applePayButtonClicked") { | Some(val) => - if val->Js.Json.decodeBoolean->Option.getOr(false) { + if val->JSON.Decode.bool->Option.getOr(false) { let isDelayedSessionToken = applePayPresent - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.getOr(Js.Dict.empty()) ->Js.Dict.get("delayed_session_token") - ->Option.getOr(Js.Json.null) - ->Js.Json.decodeBoolean + ->Option.getOr(JSON.Encode.null) + ->JSON.Decode.bool ->Option.getOr(false) if isDelayedSessionToken { @@ -439,14 +441,14 @@ let make = ( let applePayPresent = dict ->Js.Dict.get("applePayPresent") - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.getOr(Js.Dict.empty()) let connector = applePayPresent ->Js.Dict.get("connector") - ->Option.getOr(Js.Json.null) - ->Js.Json.decodeString + ->Option.getOr(JSON.Encode.null) + ->JSON.Decode.string ->Option.getOr("") switch connector { @@ -460,26 +462,26 @@ let make = ( let secrets = applePayPresent ->Js.Dict.get("session_token_data") - ->Option.getOr(Js.Json.null) - ->Js.Json.decodeObject + ->Option.getOr(JSON.Encode.null) + ->JSON.Decode.object ->Option.getOr(Js.Dict.empty()) ->Js.Dict.get("secrets") - ->Option.getOr(Js.Json.null) + ->Option.getOr(JSON.Encode.null) let paymentRequest = applePayPresent ->Js.Dict.get("payment_request_data") - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.getOr(Js.Dict.empty()) ->ApplePayTypes.jsonToPaymentRequestDataType let payment = secrets - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.getOr(Js.Dict.empty()) ->Js.Dict.get("payment") - ->Option.getOr(Js.Json.null) - ->Js.Json.decodeString + ->Option.getOr(JSON.Encode.null) + ->JSON.Decode.string ->Option.getOr("") try { @@ -488,13 +490,13 @@ let make = ( ->then(res => { logger.setLogInfo( ~value="TrustPay ApplePay Success Response", - ~internalMetadata=res->Js.Json.stringify, + ~internalMetadata=res->JSON.stringify, ~eventName=APPLE_PAY_FLOW, ~paymentMethod="APPLE_PAY", (), ) let msg = - [("applePaySyncPayment", true->Js.Json.boolean)]->Js.Dict.fromArray + [("applePaySyncPayment", true->JSON.Encode.bool)]->Js.Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) logger.setLogInfo( ~value="", @@ -505,7 +507,7 @@ let make = ( resolve() }) ->catch(err => { - let exceptionMessage = err->Utils.formatException->Js.Json.stringify + let exceptionMessage = err->Utils.formatException->JSON.stringify logger.setLogInfo( ~eventName=APPLE_PAY_FLOW, ~paymentMethod="APPLE_PAY", @@ -513,7 +515,7 @@ let make = ( (), ) let msg = - [("applePaySyncPayment", true->Js.Json.boolean)]->Js.Dict.fromArray + [("applePaySyncPayment", true->JSON.Encode.bool)]->Js.Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) resolve() }) @@ -521,13 +523,13 @@ let make = ( } catch { | exn => { logger.setLogInfo( - ~value=exn->Utils.formatException->Js.Json.stringify, + ~value=exn->Utils.formatException->JSON.stringify, ~eventName=APPLE_PAY_FLOW, ~paymentMethod="APPLE_PAY", (), ) let msg = - [("applePaySyncPayment", true->Js.Json.boolean)]->Js.Dict.fromArray + [("applePaySyncPayment", true->JSON.Encode.bool)]->Js.Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) } } @@ -536,10 +538,10 @@ let make = ( } else { let paymentRequest = applePayPresent - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.getOr(Js.Dict.empty()) ->Js.Dict.get("payment_request_data") - ->Option.getOr(Js.Dict.empty()->Js.Json.object_) + ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) ->Utils.transformKeys(Utils.CamelCase) let ssn = applePaySession(3, paymentRequest) @@ -559,10 +561,10 @@ let make = ( ssn.onvalidatemerchant = _event => { let merchantSession = applePayPresent - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.getOr(Js.Dict.empty()) ->Js.Dict.get("session_token_data") - ->Option.getOr(Js.Dict.empty()->Js.Json.object_) + ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) ->Utils.transformKeys(Utils.CamelCase) ssn.completeMerchantValidation(. merchantSession) } @@ -574,7 +576,7 @@ let make = ( } ssn.oncancel = _ev => { let msg = - [("showApplePayButton", true->Js.Json.boolean)]->Js.Dict.fromArray + [("showApplePayButton", true->JSON.Encode.bool)]->Js.Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) applePaySessionRef := Js.Nullable.null Utils.logInfo(Js.log("Apple Pay payment cancelled")) @@ -610,12 +612,12 @@ let make = ( "apiVersionMinor": 0, } let paymentDataRequest = GooglePayType.assign2( - Js.Dict.empty()->Js.Json.object_, + Js.Dict.empty()->JSON.Encode.object, baseRequest->toJson, ) let payRequest = GooglePayType.assign( - Js.Dict.empty()->Js.Json.object_, + Js.Dict.empty()->JSON.Encode.object, baseRequest->toJson, { "allowedPaymentMethods": gpayobj.allowed_payment_methods->arrayJsonToCamelCase, @@ -638,13 +640,13 @@ let make = ( ->then(res => { let dict = res->getDictFromJson let isReadyToPay = getBool(dict, "result", false) - let msg = [("isReadyToPay", isReadyToPay->Js.Json.boolean)]->Js.Dict.fromArray + let msg = [("isReadyToPay", isReadyToPay->JSON.Encode.bool)]->Js.Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) resolve() }) ->catch(err => { logger.setLogInfo( - ~value=err->toJson->Js.Json.stringify, + ~value=err->toJson->JSON.stringify, ~eventName=GOOGLE_PAY_FLOW, ~paymentMethod="GOOGLE_PAY", ~logType=DEBUG, @@ -667,7 +669,7 @@ let make = ( ->then( json => { logger.setLogInfo( - ~value=json->toJson->Js.Json.stringify, + ~value=json->toJson->JSON.stringify, ~eventName=GOOGLE_PAY_FLOW, ~paymentMethod="GOOGLE_PAY", ~logType=DEBUG, @@ -681,7 +683,7 @@ let make = ( ->catch( err => { logger.setLogInfo( - ~value=err->toJson->Js.Json.stringify, + ~value=err->toJson->JSON.stringify, ~eventName=GOOGLE_PAY_FLOW, ~paymentMethod="GOOGLE_PAY", ~logType=DEBUG, diff --git a/src/orca-loader/Hyper.res b/src/orca-loader/Hyper.res index f400f6c1..25241067 100644 --- a/src/orca-loader/Hyper.res +++ b/src/orca-loader/Hyper.res @@ -4,7 +4,7 @@ open LoggerUtils open Utils open EventListenerManager -external eventToJson: Types.eventData => Js.Json.t = "%identity" +external eventToJson: Types.eventData => JSON.t = "%identity" let checkAndAppend = (selector, child) => { if Js.Nullable.toOption(CommonHooks.querySelector(selector)) == None { @@ -68,16 +68,16 @@ let preloader = () => { ) } -let make = (publishableKey, options: option, analyticsInfo: option) => { +let make = (publishableKey, options: option, analyticsInfo: option) => { try { let isPreloadEnabled = options - ->Option.getOr(Js.Json.null) + ->Option.getOr(JSON.Encode.null) ->Utils.getDictFromJson ->Utils.getBool("isPreloadEnabled", true) let analyticsMetadata = options - ->Option.getOr(Js.Json.null) + ->Option.getOr(JSON.Encode.null) ->Utils.getDictFromJson ->Utils.getDictFromObj("analytics") ->Utils.getJsonObjectFromDict("metadata") @@ -85,7 +85,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionOption.flatMap(Js.Json.decodeObject)->Option.getOr(Js.Dict.empty()) + analyticsInfo->Option.flatMap(JSON.Decode.object)->Option.getOr(Js.Dict.empty()) let sessionID = analyticsInfoDict->getString("sessionID", "") let sdkTimestamp = analyticsInfoDict->getString("timeStamp", Js.Date.now()->Belt.Float.toString) let logger = OrcaLogger.make( @@ -99,9 +99,9 @@ let make = (publishableKey, options: option, analyticsInfo: option let customBackendUrl = userOptions - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.flatMap(x => x->Js.Dict.get("customBackendUrl")) - ->Option.flatMap(Js.Json.decodeString) + ->Option.flatMap(JSON.Decode.string) ->Option.getOr("") customBackendUrl === "" ? () : ApiEndpoint.setApiEndPoint(customBackendUrl) | None => () @@ -235,29 +235,29 @@ let make = (publishableKey, options: option, analyticsInfo: optionthen(data => { - [("paymentIntent", data)]->Js.Dict.fromArray->Js.Json.object_->Promise.resolve + [("paymentIntent", data)]->Js.Dict.fromArray->JSON.Encode.object->Promise.resolve }) } let confirmPaymentWrapper = (payload, isOneClick, result) => { let confirmParams = payload - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.flatMap(x => x->Js.Dict.get("confirmParams")) - ->Option.getOr(Js.Dict.empty()->Js.Json.object_) + ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) let redirect = payload - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.flatMap(x => x->Js.Dict.get("redirect")) - ->Option.flatMap(Js.Json.decodeString) + ->Option.flatMap(JSON.Decode.string) ->Option.getOr("if_required") let url = confirmParams - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.flatMap(x => x->Js.Dict.get("return_url")) - ->Option.flatMap(Js.Json.decodeString) + ->Option.flatMap(JSON.Decode.string) ->Option.getOr("") Js.Promise.make((~resolve, ~reject as _) => { @@ -275,22 +275,23 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Dict.get("data")->Option.getOr(Js.Dict.empty()->Js.Json.object_) + let data = + dict->Js.Dict.get("data")->Option.getOr(Js.Dict.empty()->JSON.Encode.object) let returnUrl = - dict->Js.Dict.get("url")->Option.flatMap(Js.Json.decodeString)->Option.getOr(url) + dict->Js.Dict.get("url")->Option.flatMap(JSON.Decode.string)->Option.getOr(url) if isOneClick { iframeRef.contents->Js.Array2.forEach(ifR => { // to unset one click button loader ifR->Window.iframePostMessage( - [("oneClickDoSubmit", false->Js.Json.boolean)]->Js.Dict.fromArray, + [("oneClickDoSubmit", false->JSON.Encode.bool)]->Js.Dict.fromArray, ) }) } - if val->Js.Json.decodeBoolean->Option.getOr(false) && redirect === "always" { + if val->JSON.Decode.bool->Option.getOr(false) && redirect === "always" { Window.replace(returnUrl) - } else if !(val->Js.Json.decodeBoolean->Option.getOr(false)) { + } else if !(val->JSON.Decode.bool->Option.getOr(false)) { resolve(. json) } else { resolve(. data) @@ -299,18 +300,18 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Json.boolean)]->Js.Dict.fromArray + ? [("oneClickDoSubmit", result->JSON.Encode.bool)]->Js.Dict.fromArray : [ - ("doSubmit", true->Js.Json.boolean), - ("clientSecret", clientSecret.contents->Js.Json.string), + ("doSubmit", true->JSON.Encode.bool), + ("clientSecret", clientSecret.contents->JSON.Encode.string), ( "confirmParams", [ - ("return_url", url->Js.Json.string), - ("publishableKey", publishableKey->Js.Json.string), + ("return_url", url->JSON.Encode.string), + ("publishableKey", publishableKey->JSON.Encode.string), ] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ]->Js.Dict.fromArray addSmartEventListener("message", handleMessage, "onSubmit") @@ -332,14 +333,14 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Json.decodeObject + ->JSON.Decode.object ->Option.flatMap(x => x->Js.Dict.get("clientSecret")) - ->Option.flatMap(Js.Json.decodeString) + ->Option.flatMap(JSON.Decode.string) ->Option.getOr("") clientSecret := clientSecretId Js.Promise.make((~resolve, ~reject as _) => { logger.setClientSecret(clientSecretId) - resolve(. Js.Json.null) + resolve(. JSON.Encode.null) }) ->then(_ => { logger.setLogInfo(~value=Window.href, ~eventName=ORCA_ELEMENTS_CALLED, ()) @@ -359,26 +360,20 @@ let make = (publishableKey, options: option, analyticsInfo: option, - _options: option, - ) => { - let decodedData = - data->Option.flatMap(Js.Json.decodeObject)->Option.getOr(Js.Dict.empty()) + (_this: This.t, clientSecretId: string, data: option, _options: option) => { + let decodedData = data->Option.flatMap(JSON.Decode.object)->Option.getOr(Js.Dict.empty()) Js.Promise.make((~resolve, ~reject as _) => { iframeRef.contents ->Js.Array2.map(iframe => { iframe->Window.iframePostMessage( [ - ("doSubmit", true->Js.Json.boolean), - ("clientSecret", clientSecretId->Js.Json.string), + ("doSubmit", true->JSON.Encode.bool), + ("clientSecret", clientSecretId->JSON.Encode.string), ( "confirmParams", - [("publishableKey", publishableKey->Js.Json.string)] + [("publishableKey", publishableKey->JSON.Encode.string)] ->Js.Dict.fromArray - ->Js.Json.object_, + ->JSON.Encode.object, ), ]->Js.Dict.fromArray, ) @@ -397,7 +392,7 @@ let make = (publishableKey, options: option, analyticsInfo: optiongetString("return_url", "/") - if val->Js.Json.decodeBoolean->Option.getOr(false) && url !== "/" { + if val->JSON.Decode.bool->Option.getOr(false) && url !== "/" { Window.replace(url) } else { resolve(. json) @@ -415,12 +410,12 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Dict.get("amount")->Option.isNone { Js.Console.error("Amount is not specified, please input an amount") } - let amount = dict->Js.Dict.get("amount")->Option.getOr(0.0->Js.Json.number) + let amount = dict->Js.Dict.get("amount")->Option.getOr(0.0->JSON.Encode.float) dict->Js.Dict.set( "amount", - [("currency", currency), ("value", amount)]->Js.Dict.fromArray->Js.Json.object_, + [("currency", currency), ("value", amount)]->Js.Dict.fromArray->JSON.Encode.object, ) - Some(dict->Js.Json.object_) + Some(dict->JSON.Encode.object) } let paymentRequest = options => { let optionsDict = options->getDictFromJson @@ -428,9 +423,9 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Dict.get("total") - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.flatMap(x => addAmountToDict(x, currency)) - ->Option.getOr(Js.Dict.empty()->Js.Json.object_) + ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) let displayItems = optionsDict->getJsonArrayFromDict("displayItems", []) let requestPayerName = optionsDict->getJsonStringFromDict("requestPayerName", "") let requestPayerEmail = optionsDict->getJsonBoolValue("requestPayerEmail", false) @@ -440,27 +435,30 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Dict.get("shippingOptions") - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.flatMap(x => addAmountToDict(x, currency)) - ->Option.getOr(Js.Dict.empty()->Js.Json.object_) + ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) let applePayPaymentMethodData = [ - ("supportedMethods", "https://apple.com/apple-pay"->Js.Json.string), - ("data", [("version", 12.00->Js.Json.number)]->Js.Dict.fromArray->Js.Json.object_), + ("supportedMethods", "https://apple.com/apple-pay"->JSON.Encode.string), + ( + "data", + [("version", 12.00->JSON.Encode.float)]->Js.Dict.fromArray->JSON.Encode.object, + ), ] ->Js.Dict.fromArray - ->Js.Json.object_ - let methodData = [applePayPaymentMethodData]->Js.Json.array + ->JSON.Encode.object + let methodData = [applePayPaymentMethodData]->JSON.Encode.array let details = [ - ("id", publishableKey->Js.Json.string), + ("id", publishableKey->JSON.Encode.string), ("displayItems", displayItems), ("total", optionsTotal), ("shippingOptions", shippingOptions), ] ->Js.Dict.fromArray - ->Js.Json.object_ + ->JSON.Encode.object let optionsForPaymentRequest = [ @@ -468,10 +466,10 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Json.string), + ("shippingType", "shipping"->JSON.Encode.string), ] ->Js.Dict.fromArray - ->Js.Json.object_ + ->JSON.Encode.object Window.paymentRequest(methodData, details, optionsForPaymentRequest) } diff --git a/src/orca-loader/HyperLoader.res b/src/orca-loader/HyperLoader.res index ce9a042a..c270dfa7 100644 --- a/src/orca-loader/HyperLoader.res +++ b/src/orca-loader/HyperLoader.res @@ -10,7 +10,7 @@ let loadStripe = (str, option) => { @val external window: {..} = "window" window["Hyper"] = Hyper.make -let isWordpress = window["wp"] !== Js.Json.null +let isWordpress = window["wp"] !== JSON.Encode.null if !isWordpress { window["Stripe"] = Hyper.make } diff --git a/src/orca-loader/LoaderPaymentElement.res b/src/orca-loader/LoaderPaymentElement.res index 50bb16df..9cab3bff 100644 --- a/src/orca-loader/LoaderPaymentElement.res +++ b/src/orca-loader/LoaderPaymentElement.res @@ -4,7 +4,7 @@ open EventListenerManager open OrcaUtils -external eventToJson: Types.eventData => Js.Json.t = "%identity" +external eventToJson: Types.eventData => JSON.t = "%identity" type location = {replace: (. string) => unit} @val @scope("window") external location: location = "location" @@ -21,23 +21,23 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let sdkHandleConfirmPayment = options - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.flatMap(x => x->Js.Dict.get("sdkHandleConfirmPayment")) - ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(false) let sdkHandleOneClickConfirmPayment = options - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.flatMap(x => x->Js.Dict.get("sdkHandleOneClickConfirmPayment")) - ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(true) let disableSaveCards = options - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.flatMap(x => x->Js.Dict.get("disableSaveCards")) - ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(false) let on = (eventType, eventHandler) => { @@ -86,21 +86,21 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let collapse = () => () let blur = () => { iframeRef->Js.Array2.forEach(iframe => { - let message = [("doBlur", true->Js.Json.boolean)]->Js.Dict.fromArray + let message = [("doBlur", true->JSON.Encode.bool)]->Js.Dict.fromArray iframe->Window.iframePostMessage(message) }) } let focus = () => { iframeRef->Js.Array2.forEach(iframe => { - let message = [("doFocus", true->Js.Json.boolean)]->Js.Dict.fromArray + let message = [("doFocus", true->JSON.Encode.bool)]->Js.Dict.fromArray iframe->Window.iframePostMessage(message) }) } let clear = () => { iframeRef->Js.Array2.forEach(iframe => { - let message = [("doClearValues", true->Js.Json.boolean)]->Js.Dict.fromArray + let message = [("doClearValues", true->JSON.Encode.bool)]->Js.Dict.fromArray iframe->Window.iframePostMessage(message) }) } @@ -146,8 +146,8 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = iframeRef->Js.Array2.forEach(iframe => { let message = [ - ("paymentElementsUpdate", true->Js.Json.boolean), - ("options", flatOption->Js.Json.object_->unflattenObject->Js.Json.object_), + ("paymentElementsUpdate", true->JSON.Encode.bool), + ("options", flatOption->JSON.Encode.object->unflattenObject->JSON.Encode.object), ]->Js.Dict.fromArray iframe->Window.iframePostMessage(message) }) @@ -161,7 +161,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let currentClass = ref("base") let fullscreen = ref(false) let fullscreenParam = ref("") - let fullscreenMetadata = ref(Js.Dict.empty()->Js.Json.object_) + let fullscreenMetadata = ref(Js.Dict.empty()->JSON.Encode.object) let optionsDict = options->getDictFromJson let handle = (ev: Types.event) => { let eventDataObject = ev.data->eventToJson @@ -216,7 +216,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = if combinedHyperClasses->Option.isSome { let id = eventDataObject->getOptionalJsonFromJson("id")->getStringfromOptionaljson("") - let decodeStringTest = combinedHyperClasses->Option.flatMap(Js.Json.decodeString) + let decodeStringTest = combinedHyperClasses->Option.flatMap(JSON.Decode.string) switch decodeStringTest { | Some(val) => currentClass := val | None => () @@ -242,9 +242,9 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = fullscreenParam := param->getStringfromOptionaljson("") fullscreenMetadata := metadata - ->Option.flatMap(Js.Json.decodeObject) + ->Option.flatMap(JSON.Decode.object) ->Option.getOr(Js.Dict.empty()) - ->Js.Json.object_ + ->JSON.Encode.object let fullscreenElem = Window.querySelector( `#orca-fullscreen-iframeRef-${localSelectorString}`, ) @@ -269,7 +269,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let fullScreenEle = Window.querySelector(`#orca-fullscreen`) fullScreenEle->Window.iframePostMessage( [ - ("fullScreenIframeMounted", true->Js.Json.boolean), + ("fullScreenIframeMounted", true->JSON.Encode.bool), ("metadata", fullscreenMetadata.contents), ]->Js.Dict.fromArray, ) @@ -277,7 +277,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = if dict->Js.Dict.get("driverMounted")->Option.isSome { mainElement->Window.iframePostMessage( [ - ("fullScreenIframeMounted", true->Js.Json.boolean), + ("fullScreenIframeMounted", true->JSON.Encode.bool), ("metadata", fullscreenMetadata.contents), ]->Js.Dict.fromArray, ) @@ -294,7 +294,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = : { ele->Window.innerHTML("") mainElement->Window.iframePostMessage( - [("fullScreenIframeMounted", false->Js.Json.boolean)]->Js.Dict.fromArray, + [("fullScreenIframeMounted", false->JSON.Encode.bool)]->Js.Dict.fromArray, ) } | None => () diff --git a/src/orca-loader/OrcaUtils.res b/src/orca-loader/OrcaUtils.res index c40015f8..22910352 100644 --- a/src/orca-loader/OrcaUtils.res +++ b/src/orca-loader/OrcaUtils.res @@ -1,20 +1,20 @@ open Utils -external toNullable: Js.Json.t => Js.Nullable.t = "%identity" -external eventToJson: Types.eventData => Js.Json.t = "%identity" +external toNullable: JSON.t => Js.Nullable.t = "%identity" +external eventToJson: Types.eventData => JSON.t = "%identity" let safeParseOpt = st => { try { - Js.Json.parseExn(st)->Some + JSON.parseExn(st)->Some } catch { | _e => None } } let safeParse = st => { - safeParseOpt(st)->Option.getOr(Js.Json.null) + safeParseOpt(st)->Option.getOr(JSON.Encode.null) } let rec flattenObject = (obj, addIndicatorForObject) => { let newDict = Js.Dict.empty() - switch obj->Js.Json.decodeObject { + switch obj->JSON.Decode.object { | Some(obj) => obj ->Js.Dict.entries @@ -24,10 +24,10 @@ let rec flattenObject = (obj, addIndicatorForObject) => { if value->toNullable->Js.Nullable.isNullable { Js.Dict.set(newDict, key, value) } else { - switch value->Js.Json.decodeObject { + switch value->JSON.Decode.object { | Some(_valueObj) => { if addIndicatorForObject { - Js.Dict.set(newDict, key, Js.Json.object_(Js.Dict.empty())) + Js.Dict.set(newDict, key, JSON.Encode.object(Js.Dict.empty())) } let flattenedSubObj = flattenObject(value, addIndicatorForObject) @@ -51,7 +51,7 @@ let rec flattenObject = (obj, addIndicatorForObject) => { let rec flattenObjectWithStringifiedJson = (obj, addIndicatorForObject, keepParent) => { let newDict = Js.Dict.empty() - switch obj->Js.Json.decodeObject { + switch obj->JSON.Decode.object { | Some(obj) => obj ->Js.Dict.entries @@ -61,14 +61,14 @@ let rec flattenObjectWithStringifiedJson = (obj, addIndicatorForObject, keepPare if value->toNullable->Js.Nullable.isNullable { Js.Dict.set(newDict, key, value) } else { - switch value->Js.Json.decodeString->Option.getOr("")->safeParse->Js.Json.decodeObject { + switch value->JSON.Decode.string->Option.getOr("")->safeParse->JSON.Decode.object { | Some(_valueObj) => { if addIndicatorForObject { - Js.Dict.set(newDict, key, Js.Json.object_(Js.Dict.empty())) + Js.Dict.set(newDict, key, JSON.Encode.object(Js.Dict.empty())) } let flattenedSubObj = flattenObjectWithStringifiedJson( - value->Js.Json.decodeString->Option.getOr("")->safeParse, + value->JSON.Decode.string->Option.getOr("")->safeParse, addIndicatorForObject, keepParent, ) @@ -92,8 +92,8 @@ let rec flattenObjectWithStringifiedJson = (obj, addIndicatorForObject, keepPare } let rec flatten = (obj, addIndicatorForObject) => { let newDict = Js.Dict.empty() - switch obj->Js.Json.classify { - | JSONObject(obj) => + switch obj->JSON.Classify.classify { + | Object(obj) => obj ->Js.Dict.entries ->Js.Array2.forEach(entry => { @@ -102,10 +102,10 @@ let rec flatten = (obj, addIndicatorForObject) => { if value->toNullable->Js.Nullable.isNullable { Js.Dict.set(newDict, key, value) } else { - switch value->Js.Json.classify { - | JSONObject(_valueObjDict) => { + switch value->JSON.Classify.classify { + | Object(_valueObjDict) => { if addIndicatorForObject { - Js.Dict.set(newDict, key, Js.Json.object_(Js.Dict.empty())) + Js.Dict.set(newDict, key, JSON.Encode.object(Js.Dict.empty())) } let flattenedSubObj = flatten(value, addIndicatorForObject) @@ -118,14 +118,14 @@ let rec flatten = (obj, addIndicatorForObject) => { }) } - | JSONArray(dictArray) => { + | Array(dictArray) => { let stringArray = [] let arrayArray = [] dictArray->Js.Array2.forEachi((item, index) => { - switch item->Js.Json.classify { - | JSONString(_str) => + switch item->JSON.Classify.classify { + | String(_str) => let _ = stringArray->Js.Array2.push(item) - | JSONObject(_obj) => { + | Object(_obj) => { let flattenedSubObj = flatten(item, addIndicatorForObject) flattenedSubObj ->Js.Dict.entries @@ -142,10 +142,10 @@ let rec flatten = (obj, addIndicatorForObject) => { } }) if stringArray->Js.Array2.length > 0 { - Js.Dict.set(newDict, key, stringArray->Js.Json.array) + Js.Dict.set(newDict, key, stringArray->JSON.Encode.array) } if arrayArray->Js.Array2.length > 0 { - Js.Dict.set(newDict, key, arrayArray->Js.Json.array) + Js.Dict.set(newDict, key, arrayArray->JSON.Encode.array) } } @@ -166,13 +166,13 @@ let rec setNested = (dict, keys, value) => { } else { let subDict = switch Js.Dict.get(dict, firstKey) { | Some(json) => - switch json->Js.Json.decodeObject { + switch json->JSON.Decode.object { | Some(obj) => obj | None => dict } | None => let subDict = Js.Dict.empty() - dict->Dict.set(firstKey, subDict->Js.Json.object_) + dict->Dict.set(firstKey, subDict->JSON.Encode.object) subDict } let remainingKeys = keys->Js.Array2.sliceFrom(1) @@ -185,7 +185,7 @@ let rec setNested = (dict, keys, value) => { let unflattenObject = obj => { let newDict = Js.Dict.empty() - switch obj->Js.Json.decodeObject { + switch obj->JSON.Decode.object { | Some(dict) => dict ->Js.Dict.entries @@ -200,26 +200,26 @@ let unflattenObject = obj => { let getEventDataObj = ev => { ev - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.flatMap(x => x->Js.Dict.get("data")) - ->Option.getOr(Js.Dict.empty()->Js.Json.object_) + ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) } let getStrValueFromEventDataObj = (ev, key) => { let obj = ev->getEventDataObj obj - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.flatMap(x => x->Js.Dict.get(key)) - ->Option.flatMap(Js.Json.decodeString) + ->Option.flatMap(JSON.Decode.string) ->Option.getOr("") } let getBoolValueFromEventDataObj = (ev, key) => { let obj = ev->getEventDataObj obj - ->Js.Json.decodeObject + ->JSON.Decode.object ->Option.flatMap(x => x->Js.Dict.get(key)) - ->Option.flatMap(Js.Json.decodeBoolean) + ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(false) } @@ -271,27 +271,27 @@ let makeIframe = (element, url) => { } let getOptionalJson = (ev, str) => { - ev->getEventDataObj->Js.Json.decodeObject->Option.getOr(Js.Dict.empty())->Js.Dict.get(str) + ev->getEventDataObj->JSON.Decode.object->Option.getOr(Js.Dict.empty())->Js.Dict.get(str) } let getOptionalJsonFromJson = (ev, str) => { - ev->Js.Json.decodeObject->Option.getOr(Js.Dict.empty())->Js.Dict.get(str) + ev->JSON.Decode.object->Option.getOr(Js.Dict.empty())->Js.Dict.get(str) } -let getStringfromOptionaljson = (json: option, default: string) => { - json->Option.flatMap(Js.Json.decodeString)->Option.getOr(default) +let getStringfromOptionaljson = (json: option, default: string) => { + json->Option.flatMap(JSON.Decode.string)->Option.getOr(default) } -let getBoolfromjson = (json: option, default: bool) => { - json->Option.flatMap(Js.Json.decodeBoolean)->Option.getOr(default) +let getBoolfromjson = (json: option, default: bool) => { + json->Option.flatMap(JSON.Decode.bool)->Option.getOr(default) } -let getFloatfromjson = (json: option, default: float) => { - json->Option.flatMap(Js.Json.decodeNumber)->Option.getOr(default) +let getFloatfromjson = (json: option, default: float) => { + json->Option.flatMap(JSON.Decode.float)->Option.getOr(default) } -let getStringfromjson = (json: Js.Json.t, default: string) => { - json->Js.Json.decodeString->Option.getOr(default) +let getStringfromjson = (json: JSON.t, default: string) => { + json->JSON.Decode.string->Option.getOr(default) } let getThemePromise = dict => { @@ -317,28 +317,28 @@ let mergeTwoFlattenedJsonDicts = (dict1, dict2) => { ->Js.Dict.entries ->Js.Array2.concat(dict2->Js.Dict.entries) ->Js.Dict.fromArray - ->Js.Json.object_ + ->JSON.Encode.object ->unflattenObject } let getArrayOfTupleFromDict = dict => { dict ->Js.Dict.keys - ->Belt.Array.map(key => (key, Js.Dict.get(dict, key)->Option.getOr(Js.Json.null))) + ->Belt.Array.map(key => (key, Js.Dict.get(dict, key)->Option.getOr(JSON.Encode.null))) } let makeOneClickHandlerPromise = sdkHandleOneClickConfirmPayment => { open EventListenerManager Js.Promise.make((~resolve, ~reject as _) => { if sdkHandleOneClickConfirmPayment { - resolve(. Js.Json.boolean(true)) + resolve(. JSON.Encode.bool(true)) } else { let handleMessage = (event: Types.event) => { let json = event.data->eventToJson->getStringfromjson("")->safeParse let dict = json->Utils.getDictFromJson if dict->Js.Dict.get("oneClickDoSubmit")->Option.isSome { - resolve(. dict->Js.Dict.get("oneClickDoSubmit")->Option.getOr(true->Js.Json.boolean)) + resolve(. dict->Js.Dict.get("oneClickDoSubmit")->Option.getOr(true->JSON.Encode.bool)) } } addSmartEventListener("message", handleMessage, "onOneClickHandlerPaymentConfirm") diff --git a/src/orca-loader/Types.res b/src/orca-loader/Types.res index a37ab20b..a6eb9f05 100644 --- a/src/orca-loader/Types.res +++ b/src/orca-loader/Types.res @@ -12,7 +12,7 @@ type eventData = { } type event = {key: string, data: eventData} type eventParam = Event(event) | EventData(eventData) | Empty -type eventHandler = option => unit +type eventHandler = option => unit @send external onload: (Dom.element, unit => Js.Promise.t<'a>) => Js.Promise.t<'a> = "onload" module This = { type t @@ -24,7 +24,7 @@ type paymentElement = { on: (string, option => unit>) => unit, collapse: unit => unit, blur: unit => unit, - update: Js.Json.t => unit, + update: JSON.t => unit, destroy: unit => unit, unmount: unit => unit, mount: string => unit, @@ -34,50 +34,45 @@ type paymentElement = { type element = { getElement: Js.Dict.key => option, - update: Js.Json.t => unit, - fetchUpdates: unit => Js.Promise.t, - create: (Js.Dict.key, Js.Json.t) => paymentElement, + update: JSON.t => unit, + fetchUpdates: unit => Js.Promise.t, + create: (Js.Dict.key, JSON.t) => paymentElement, } type confirmParams = {return_url: string} type confirmPaymentParams = { - elements: Js.Json.t, + elements: JSON.t, confirmParams: Js.Nullable.t, } type hyperInstance = { - confirmOneClickPayment: (Js.Json.t, bool) => Js.Promise.t, - confirmPayment: Js.Json.t => Js.Promise.t, - elements: Js.Json.t => element, + confirmOneClickPayment: (JSON.t, bool) => Js.Promise.t, + confirmPayment: JSON.t => Js.Promise.t, + elements: JSON.t => element, confirmCardPayment: Js_OO.Callback.arity4< - (This.t, string, option, option) => Js.Promise.t, + (This.t, string, option, option) => Js.Promise.t, >, - retrievePaymentIntent: string => Js.Promise.t, - widgets: Js.Json.t => element, - paymentRequest: Js.Json.t => Js.Json.t, + retrievePaymentIntent: string => Js.Promise.t, + widgets: JSON.t => element, + paymentRequest: JSON.t => JSON.t, } let oneClickConfirmPaymentFn = (_, _) => { - Js.Promise.resolve(Js.Dict.empty()->Js.Json.object_) + Js.Promise.resolve(Js.Dict.empty()->JSON.Encode.object) } -let confirmPaymentFn = (_elements: Js.Json.t) => { - Js.Promise.resolve(Js.Dict.empty()->Js.Json.object_) +let confirmPaymentFn = (_elements: JSON.t) => { + Js.Promise.resolve(Js.Dict.empty()->JSON.Encode.object) } let confirmCardPaymentFn = @this - ( - _this: This.t, - _clientSecretId: string, - _data: option, - _options: option, - ) => { - Js.Promise.resolve(Js.Dict.empty()->Js.Json.object_) + (_this: This.t, _clientSecretId: string, _data: option, _options: option) => { + Js.Promise.resolve(Js.Dict.empty()->JSON.Encode.object) } let retrievePaymentIntentFn = _paymentIntentId => { - Js.Promise.resolve(Js.Dict.empty()->Js.Json.object_) + Js.Promise.resolve(Js.Dict.empty()->JSON.Encode.object) } let update = _options => { () @@ -89,7 +84,7 @@ let getElement = _componentName => { let fetchUpdates = () => { Js.Promise.make((~resolve, ~reject as _) => { - Js.Global.setTimeout(() => resolve(. Js.Dict.empty()->Js.Json.object_), 1000)->ignore + Js.Global.setTimeout(() => resolve(. Js.Dict.empty()->JSON.Encode.object), 1000)->ignore }) } let defaultPaymentElement = { @@ -122,7 +117,7 @@ let defaultHyperInstance = { retrievePaymentIntent: retrievePaymentIntentFn, elements: _ev => defaultElement, widgets: _ev => defaultElement, - paymentRequest: _ev => Js.Json.null, + paymentRequest: _ev => JSON.Encode.null, } type eventType = diff --git a/src/orca-log-catcher/ErrorBoundary.res b/src/orca-log-catcher/ErrorBoundary.res index d3a690bc..1a4f2d02 100644 --- a/src/orca-log-catcher/ErrorBoundary.res +++ b/src/orca-log-catcher/ErrorBoundary.res @@ -1,4 +1,4 @@ -external errorToJson: Sentry.ErrorBoundary.fallbackArg => Js.Json.t = "%identity" +external errorToJson: Sentry.ErrorBoundary.fallbackArg => JSON.t = "%identity" type errorLevel = Top | RequestButton | PaymentMethod let errorIcon = { @@ -98,7 +98,8 @@ module ErrorCard = { let make = (~error: Sentry.ErrorBoundary.fallbackArg, ~level) => { let beaconApiCall = data => { if data->Js.Array2.length > 0 { - let logData = data->Js.Array2.map(OrcaLogger.logFileToObj)->Js.Json.array->Js.Json.stringify + let logData = + data->Js.Array2.map(OrcaLogger.logFileToObj)->JSON.Encode.array->JSON.stringify Window.sendBeacon(GlobalVars.logEndpoint, logData) } } @@ -113,7 +114,7 @@ module ErrorCard = { sessionId: "", source: "orca-elements", version: GlobalVars.repoVersion, - value: error->errorToJson->Js.Json.stringify, + value: error->errorToJson->JSON.stringify, internalMetadata: "", category: USER_ERROR, paymentId: "", @@ -127,7 +128,7 @@ module ErrorCard = { latency: "", paymentMethod: "", firstEvent: false, - metadata: Js.Json.null, + metadata: JSON.Encode.null, } beaconApiCall([errorLog]) } @@ -157,8 +158,8 @@ module ErrorCard = { switch level { | Top => Utils.handlePostMessage([ - ("iframeHeight", (divH +. 1.0)->Js.Json.number), - ("iframeId", iframeId->Js.Json.string), + ("iframeHeight", (divH +. 1.0)->JSON.Encode.float), + ("iframeId", iframeId->JSON.Encode.string), ]) | _ => () } diff --git a/src/orca-log-catcher/OrcaLogger.res b/src/orca-log-catcher/OrcaLogger.res index 2b48821a..42b9feb3 100644 --- a/src/orca-log-catcher/OrcaLogger.res +++ b/src/orca-log-catcher/OrcaLogger.res @@ -146,11 +146,11 @@ type logFile = { latency: string, firstEvent: bool, paymentMethod: string, - metadata: Js.Json.t, + metadata: JSON.t, } type setlogApiValueType = - | ArrayType(array<(string, Js.Json.t)>) + | ArrayType(array<(string, JSON.t)>) | StringValue(string) type setLogInfo = ( @@ -179,18 +179,18 @@ type loggerMake = { unit, ) => unit, setLogInitiated: unit => unit, - setConfirmPaymentValue: (~paymentType: string) => Js.Json.t, + setConfirmPaymentValue: (~paymentType: string) => JSON.t, sendLogs: unit => unit, setSessionId: string => unit, setClientSecret: string => unit, setMerchantId: string => unit, - setMetadata: Js.Json.t => unit, + setMetadata: JSON.t => unit, } let defaultLoggerConfig = { sendLogs: () => (), setClientSecret: _x => (), - setConfirmPaymentValue: (~paymentType as _) => {Js.Dict.empty()->Js.Json.object_}, + setConfirmPaymentValue: (~paymentType as _) => {Js.Dict.empty()->JSON.Encode.object}, setLogError: ( ~value as _, ~internalMetadata as _=?, @@ -230,7 +230,7 @@ let defaultLoggerConfig = { let logFileToObj = logFile => { [ - ("timestamp", logFile.timestamp->Js.Json.string), + ("timestamp", logFile.timestamp->JSON.Encode.string), ( "log_type", switch logFile.logType { @@ -239,9 +239,9 @@ let logFileToObj = logFile => { | ERROR => "ERROR" | WARNING => "WARNING" | SILENT => "SILENT" - }->Js.Json.string, + }->JSON.Encode.string, ), - ("component", "WEB"->Js.Json.string), + ("component", "WEB"->JSON.Encode.string), ( "category", switch logFile.category { @@ -249,27 +249,27 @@ let logFileToObj = logFile => { | USER_ERROR => "USER_ERROR" | USER_EVENT => "USER_EVENT" | MERCHANT_EVENT => "MERCHANT_EVENT" - }->Js.Json.string, + }->JSON.Encode.string, ), - ("source", logFile.source->convertToScreamingSnakeCase->Js.Json.string), - ("version", logFile.version->Js.Json.string), // repoversion of orca-android - ("value", logFile.value->Js.Json.string), - ("internal_metadata", logFile.internalMetadata->Js.Json.string), - ("session_id", logFile.sessionId->Js.Json.string), - ("merchant_id", logFile.merchantId->Js.Json.string), - ("payment_id", logFile.paymentId->Js.Json.string), - ("app_id", logFile.appId->Js.Json.string), - ("platform", logFile.platform->convertToScreamingSnakeCase->Js.Json.string), - ("user_agent", logFile.userAgent->Js.Json.string), - ("event_name", logFile.eventName->eventNameToStrMapper->Js.Json.string), - ("browser_name", logFile.browserName->convertToScreamingSnakeCase->Js.Json.string), - ("browser_version", logFile.browserVersion->Js.Json.string), - ("latency", logFile.latency->Js.Json.string), - ("first_event", (logFile.firstEvent ? "true" : "false")->Js.Json.string), - ("payment_method", logFile.paymentMethod->convertToScreamingSnakeCase->Js.Json.string), + ("source", logFile.source->convertToScreamingSnakeCase->JSON.Encode.string), + ("version", logFile.version->JSON.Encode.string), // repoversion of orca-android + ("value", logFile.value->JSON.Encode.string), + ("internal_metadata", logFile.internalMetadata->JSON.Encode.string), + ("session_id", logFile.sessionId->JSON.Encode.string), + ("merchant_id", logFile.merchantId->JSON.Encode.string), + ("payment_id", logFile.paymentId->JSON.Encode.string), + ("app_id", logFile.appId->JSON.Encode.string), + ("platform", logFile.platform->convertToScreamingSnakeCase->JSON.Encode.string), + ("user_agent", logFile.userAgent->JSON.Encode.string), + ("event_name", logFile.eventName->eventNameToStrMapper->JSON.Encode.string), + ("browser_name", logFile.browserName->convertToScreamingSnakeCase->JSON.Encode.string), + ("browser_version", logFile.browserVersion->JSON.Encode.string), + ("latency", logFile.latency->JSON.Encode.string), + ("first_event", (logFile.firstEvent ? "true" : "false")->JSON.Encode.string), + ("payment_method", logFile.paymentMethod->convertToScreamingSnakeCase->JSON.Encode.string), ] ->Js.Dict.fromArray - ->Js.Json.object_ + ->JSON.Encode.object } /* SAMPLE LOG FILE @@ -422,7 +422,7 @@ let make = ( merchantId := value } - let metadata = ref(metadata->Option.getOr(Js.Json.null)) + let metadata = ref(metadata->Option.getOr(JSON.Encode.null)) let setMetadata = value => { metadata := value @@ -466,7 +466,7 @@ let make = ( let beaconApiCall = data => { if data->Js.Array2.length > 0 { - let logData = data->Js.Array2.map(logFileToObj)->Js.Json.array->Js.Json.stringify + let logData = data->Js.Array2.map(logFileToObj)->JSON.Encode.array->JSON.stringify Window.sendBeacon(GlobalVars.logEndpoint, logData) } } @@ -600,9 +600,9 @@ let make = ( } let setConfirmPaymentValue = (~paymentType) => { - [("method", "confirmPayment"->Js.Json.string), ("type", paymentType->Js.Json.string)] + [("method", "confirmPayment"->JSON.Encode.string), ("type", paymentType->JSON.Encode.string)] ->Js.Dict.fromArray - ->Js.Json.object_ + ->JSON.Encode.object } let setLogApi = ( @@ -628,11 +628,11 @@ let make = ( source: sourceString, version: GlobalVars.repoVersion, value: switch value { - | ArrayType(a) => a->Js.Dict.fromArray->Js.Json.object_->Js.Json.stringify + | ArrayType(a) => a->Js.Dict.fromArray->JSON.Encode.object->JSON.stringify | StringValue(a) => a }, internalMetadata: switch internalMetadata { - | ArrayType(a) => a->Js.Dict.fromArray->Js.Json.object_->Js.Json.stringify + | ArrayType(a) => a->Js.Dict.fromArray->JSON.Encode.object->JSON.stringify | StringValue(a) => a }, category: logCategory, From a94b22ea442e8ceffd0f167aca6f9d6dabb5d10c Mon Sep 17 00:00:00 2001 From: Pritish Budhiraja <1805317@kiit.ac.in> Date: Thu, 7 Mar 2024 12:33:23 +0530 Subject: [PATCH 04/17] refactor: array core changes --- src/CardTheme.res | 4 +- src/CardUtils.res | 49 +++--- src/Components/AccordionContainer.res | 26 +-- src/Components/DropdownField.res | 4 +- src/Components/DynamicFields.res | 28 ++-- src/Components/Loader.res | 2 +- src/Components/PaymentDropDownField.res | 6 +- src/Components/PortalCapture.res | 34 ++-- src/Components/SavedMethods.res | 4 +- src/Components/SurchargeUtils.res | 12 +- src/Hooks/OutsideClick.res | 12 +- src/LoaderController.res | 17 +- src/Payment.res | 8 +- src/PaymentElement.res | 28 ++-- src/PaymentElementRenderer.res | 2 +- src/PaymentElementRenderer.resi | 2 +- src/PaymentElementRendererLazy.res | 2 +- src/PaymentOptions.res | 10 +- src/Payments/ApplePay.res | 2 +- src/Payments/BankTransfersPopup.res | 6 +- src/Payments/CardPayment.res | 12 +- src/Payments/GPay.res | 2 +- src/Payments/KlarnaPayment.res | 2 +- src/Payments/KlarnaPaymentLazy.res | 2 +- src/Payments/PaymentMethodsRecord.res | 106 ++++++------ src/Payments/PaymentMethodsWrapper.res | 6 +- src/Payments/PaymentRequestButtonElement.res | 2 +- src/Payments/QRCodeDisplay.res | 2 +- src/Payments/SepaBankTransfer.res | 2 +- src/ResizeObserver.res | 2 +- src/SingleLineCardPayment.res | 6 +- src/Types/GooglePayType.res | 2 +- src/Types/PaymentType.res | 14 +- src/Types/SessionsType.res | 6 +- src/Utilities/ApiEndpoint.res | 2 +- src/Utilities/DynamicFieldsUtils.res | 168 ++++++++++--------- src/Utilities/ErrorUtils.res | 10 +- src/Utilities/PaymentBody.res | 4 +- src/Utilities/PaymentHelpers.res | 23 ++- src/Utilities/PaymentUtils.res | 38 ++--- src/Utilities/Utils.res | 102 +++++------ src/orca-loader/Elements.res | 12 +- src/orca-loader/Hyper.res | 14 +- src/orca-loader/LoaderPaymentElement.res | 12 +- src/orca-loader/OrcaUtils.res | 28 ++-- src/orca-log-catcher/ErrorBoundary.res | 9 +- src/orca-log-catcher/OrcaLogger.res | 29 ++-- 47 files changed, 433 insertions(+), 442 deletions(-) diff --git a/src/CardTheme.res b/src/CardTheme.res index 17eaced7..519b0054 100644 --- a/src/CardTheme.res +++ b/src/CardTheme.res @@ -76,7 +76,7 @@ let getLocaleObject = string => { string } LocaleString.localeStrings - ->Js.Array2.filter(item => item.locale == val) + ->Array.filter(item => item.locale == val) ->Belt.Array.get(0) ->Option.getOr(LocaleString.defaultLocale) } @@ -288,7 +288,7 @@ let getFonts = (str, dict, logger) => { ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) ->Belt.Array.keepMap(JSON.Decode.object) - ->Js.Array2.map(json => { + ->Array.map(json => { unknownKeysWarning(["cssSrc", "family", "src", "weight"], json, "fonts", ~logger) { cssSrc: getWarningString(json, "cssSrc", "", ~logger), diff --git a/src/CardUtils.res b/src/CardUtils.res index 4820281e..47d7ce36 100644 --- a/src/CardUtils.res +++ b/src/CardUtils.res @@ -78,10 +78,10 @@ let getQueryParamsDictforKey = (searchParams, keyName) => { searchParams ->Js.String2.split("&") - ->Js.Array2.forEach(paramStr => { + ->Array.forEach(paramStr => { let keyValArr = Js.String2.split(paramStr, "=") let key = keyValArr->Belt.Array.get(0)->Option.getOr("") - let value = if keyValArr->Js.Array2.length > 0 { + let value = if keyValArr->Array.length > 0 { keyValArr->Belt.Array.get(1)->Option.getOr("") } else { "" @@ -113,7 +113,7 @@ let cardType = val => { let getobjFromCardPattern = cardBrand => { let patternsDict = CardPattern.cardPatterns patternsDict - ->Js.Array2.filter(item => { + ->Array.filter(item => { cardBrand === item.issuer }) ->Belt.Array.get(0) @@ -177,7 +177,7 @@ let formatCardNumber = (val, cardType) => { } let splitExpiryDates = val => { let split = val->Js.String2.split("/") - let value = split->Js.Array2.map(item => item->Js.String2.trim) + let value = split->Array.map(item => item->Js.String2.trim) let month = value->Belt.Array.get(0)->Option.getOr("") let year = value->Belt.Array.get(1)->Option.getOr("") (month, year) @@ -252,12 +252,12 @@ let getCardBrand = cardNumber => { ->Belt.Int.fromString ->Option.getOr(0) - let range = cardRanges->Js.Array2.map(cardRange => { + let range = cardRanges->Array.map(cardRange => { let (min, max) = cardRange intIsin >= min && intIsin <= max }) - range->Js.Array2.includes(true) + range->Array.includes(true) } let patternsDict = CardPattern.cardPatterns if doesFallInRange(rupayRanges, card) { @@ -266,14 +266,14 @@ let getCardBrand = cardNumber => { "Mastercard" } else { patternsDict - ->Js.Array2.map(item => { + ->Array.map(item => { if Js.String2.match_(card, item.pattern)->Option.isSome { item.issuer } else { "" } }) - ->Js.Array2.filter(item => item !== "") + ->Array.filter(item => item !== "") ->Belt.Array.get(0) ->Option.getOr("") } @@ -286,15 +286,15 @@ let calculateLuhn = value => { let card = value->clearSpaces let splitArr = card->Js.String2.split("")->Js.Array2.reverseInPlace - let unCheckArr = splitArr->Js.Array2.filteri((_, i) => { + let unCheckArr = splitArr->Array.filterWithIndex((_, i) => { mod(i, 2) == 0 }) let checkArr = splitArr - ->Js.Array2.filteri((_, i) => { + ->Array.filterWithIndex((_, i) => { mod(i + 1, 2) == 0 }) - ->Js.Array2.map(item => { + ->Array.map(item => { let val = item->toInt let double = val * 2 let str = double->Belt.Int.toString @@ -364,7 +364,7 @@ let isExipryValid = val => { let cardNumberInRange = val => { let clearValue = val->clearSpaces let obj = getobjFromCardPattern(val->getCardBrand) - let cardLengthInRange = obj.length->Js.Array2.map(item => { + let cardLengthInRange = obj.length->Array.map(item => { clearValue->Js.String2.length == item }) cardLengthInRange @@ -390,15 +390,15 @@ let getMaxLength = val => { let cvcNumberInRange = (val, cardBrand) => { let clearValue = val->clearSpaces let obj = getobjFromCardPattern(cardBrand) - let cvcLengthInRange = obj.cvcLength->Js.Array2.map(item => { + let cvcLengthInRange = obj.cvcLength->Array.map(item => { clearValue->Js.String2.length == item }) cvcLengthInRange } let genreateFontsLink = (fonts: array) => { - if fonts->Js.Array2.length > 0 { + if fonts->Array.length > 0 { fonts - ->Js.Array2.map(item => + ->Array.map(item => if item.cssSrc != "" { let link = document["createElement"](. "link") link["href"] = item.cssSrc @@ -486,8 +486,7 @@ let getCardElementValue = (iframeId, key) => { } let checkCardCVC = (cvcNumber, cardBrand) => { - cvcNumber->Js.String2.length > 0 && - cvcNumberInRange(cvcNumber, cardBrand)->Js.Array2.includes(true) + cvcNumber->Js.String2.length > 0 && cvcNumberInRange(cvcNumber, cardBrand)->Array.includes(true) } let checkCardExpiry = expiry => { expiry->Js.String2.length > 0 && getExpiryValidity(expiry) @@ -513,17 +512,17 @@ let pincodeVisibility = cardNumber => { let brand = getCardBrand(cardNumber) let brandPattern = CardPattern.cardPatterns - ->Js.Array2.filter(obj => obj.issuer == brand) + ->Array.filter(obj => obj.issuer == brand) ->Belt.Array.get(0) ->Option.getOr(CardPattern.defaultCardPattern) brandPattern.pincodeRequired } let swapCardOption = (cardOpts: array, dropOpts: array, selectedOption: string) => { - let popEle = Js.Array2.pop(cardOpts) - dropOpts->Js.Array2.push(popEle->Option.getOr(""))->ignore - cardOpts->Js.Array2.push(selectedOption)->ignore - let temp: array = dropOpts->Js.Array2.filter(item => item != selectedOption) + let popEle = Array.pop(cardOpts) + dropOpts->Array.push(popEle->Option.getOr(""))->ignore + cardOpts->Array.push(selectedOption)->ignore + let temp: array = dropOpts->Array.filter(item => item != selectedOption) (cardOpts, temp) } @@ -561,10 +560,10 @@ let getLayoutClass = layout => { } let getAllBanknames = obj => { - obj->Js.Array2.reduce((acc, item) => { - item->Js.Array2.map(val => acc->Js.Array2.push(val))->ignore + obj->Array.reduce([], (acc, item) => { + item->Array.map(val => acc->Array.push(val))->ignore acc - }, []) + }) } let clientTimeZone = dateTimeFormat(.).resolvedOptions(.).timeZone diff --git a/src/Components/AccordionContainer.res b/src/Components/AccordionContainer.res index f8132fb9..a18cdcad 100644 --- a/src/Components/AccordionContainer.res +++ b/src/Components/AccordionContainer.res @@ -11,7 +11,7 @@ module Loader = { switch list { | SemiLoaded => Belt.Array.make(cardShimmerCount - 1, "") - ->Js.Array2.mapi((_, i) => { + ->Array.mapWithIndex((_, i) => { let borderStyle = layoutClass.spacedAccordionItems ? themeObj.borderRadius : i == cardShimmerCount - 2 @@ -82,20 +82,18 @@ let make = (~paymentOptions: array, ~checkoutEle: React.element) => { !layoutClass.spacedAccordionItems && index == 0 && list == SemiLoaded && - cardOptionDetails->Js.Array2.length == 1 + cardOptionDetails->Array.length == 1 ) { `${themeObj.borderRadius} ${themeObj.borderRadius} 0px 0px` } else if ( !showMore && !layoutClass.spacedAccordionItems && index == 0 && - cardOptionDetails->Js.Array2.length == 1 + cardOptionDetails->Array.length == 1 ) { themeObj.borderRadius } else if ( - !showMore && - !layoutClass.spacedAccordionItems && - index == cardOptionDetails->Js.Array2.length - 1 + !showMore && !layoutClass.spacedAccordionItems && index == cardOptionDetails->Array.length - 1 ) { `0px 0px ${themeObj.borderRadius} ${themeObj.borderRadius}` } else if !layoutClass.spacedAccordionItems && index == 0 { @@ -108,7 +106,7 @@ let make = (~paymentOptions: array, ~checkoutEle: React.element) => { } let getBorderRadiusStyleForDropDownOptionDetails = index => { - if !layoutClass.spacedAccordionItems && index == dropDownOptionsDetails->Js.Array2.length - 1 { + if !layoutClass.spacedAccordionItems && index == dropDownOptionsDetails->Array.length - 1 { `0px 0px ${themeObj.borderRadius} ${themeObj.borderRadius}` } else if layoutClass.spacedAccordionItems { themeObj.borderRadius @@ -131,7 +129,7 @@ let make = (~paymentOptions: array, ~checkoutEle: React.element) => { (), )}> {cardOptionDetails - ->Js.Array2.mapi((payOption, i) => { + ->Array.mapWithIndex((payOption, i) => { let isActive = payOption.paymentMethodName == selectedOption let borderRadiusStyle = getBorderRadiusStyleForCardOptionDetails(i) , ~checkoutEle: React.element) => { checkoutEle borderRadiusStyle={borderRadiusStyle} borderBottom={(!showMore && - i == cardOptionDetails->Js.Array2.length - 1 && + i == cardOptionDetails->Array.length - 1 && !layoutClass.spacedAccordionItems) || layoutClass.spacedAccordionItems} /> }) @@ -149,7 +147,7 @@ let make = (~paymentOptions: array, ~checkoutEle: React.element) => { {dropDownOptionsDetails - ->Js.Array2.mapi((payOption, i) => { + ->Array.mapWithIndex((payOption, i) => { let isActive = payOption.paymentMethodName == selectedOption let borderRadiusStyle = getBorderRadiusStyleForDropDownOptionDetails(i) , ~checkoutEle: React.element) => { isActive checkoutEle borderRadiusStyle={borderRadiusStyle} - borderBottom={(i == dropDownOptionsDetails->Js.Array2.length - 1 && + borderBottom={(i == dropDownOptionsDetails->Array.length - 1 && !layoutClass.spacedAccordionItems) || layoutClass.spacedAccordionItems} /> }) ->React.array}
- Js.Array2.length > 0}> + Array.length > 0}> diff --git a/src/Components/DropdownField.res b/src/Components/DropdownField.res index 7ee8f3db..70aaf537 100644 --- a/src/Components/DropdownField.res +++ b/src/Components/DropdownField.res @@ -44,7 +44,7 @@ let make = ( let floatinglabelClass = inputFocused ? "Label--floating" : "Label--resting" let cursorClass = !disabled ? "cursor-pointer" : "cursor-not-allowed" - Js.Array2.length > 0}> + Array.length > 0}>
Js.String2.length > 0 && appearance.labels == Above}>
{options - ->Js.Array2.mapi((item: string, i) => { + ->Array.mapWithIndex((item: string, i) => { }) ->React.array} diff --git a/src/Components/DynamicFields.res b/src/Components/DynamicFields.res index 8da52365..d945bafb 100644 --- a/src/Components/DynamicFields.res +++ b/src/Components/DynamicFields.res @@ -36,7 +36,7 @@ let make = ( if paymentMethod === "card" { paymentMethodTypes.required_fields } else if ( - PaymentMethodsRecord.dynamicFieldsEnabledPaymentMethods->Js.Array2.includes(paymentMethodType) + PaymentMethodsRecord.dynamicFieldsEnabledPaymentMethods->Array.includes(paymentMethodType) ) { paymentMethodTypes.required_fields } else { @@ -250,7 +250,7 @@ let make = ( let getCustomFieldName = (item: PaymentMethodsRecord.paymentMethodsFields) => { if ( requiredFields - ->Js.Array2.filter(requiredFieldType => + ->Array.filter(requiredFieldType => requiredFieldType.field_type === item && requiredFieldType.display_name === "card_holder_name" ) @@ -263,29 +263,27 @@ let make = ( } let dynamicFieldsToRenderOutsideBilling = React.useMemo1(() => { - fieldsArr->Js.Array2.filter(DynamicFieldsUtils.isFieldTypeToRenderOutsideBilling) + fieldsArr->Array.filter(DynamicFieldsUtils.isFieldTypeToRenderOutsideBilling) }, [fieldsArr]) let dynamicFieldsToRenderInsideBilling = React.useMemo1(() => { - fieldsArr->Js.Array2.filter(field => - !(field->DynamicFieldsUtils.isFieldTypeToRenderOutsideBilling) - ) + fieldsArr->Array.filter(field => !(field->DynamicFieldsUtils.isFieldTypeToRenderOutsideBilling)) }, [fieldsArr]) - let isInfoElementPresent = dynamicFieldsToRenderInsideBilling->Js.Array2.includes(InfoElement) + let isInfoElementPresent = dynamicFieldsToRenderInsideBilling->Array.includes(InfoElement) let isOnlyInfoElementPresent = - dynamicFieldsToRenderInsideBilling->Js.Array2.length === 1 && isInfoElementPresent + dynamicFieldsToRenderInsideBilling->Array.length === 1 && isInfoElementPresent let isRenderDynamicFieldsInsideBilling = - dynamicFieldsToRenderInsideBilling->Js.Array2.length > 0 && - (dynamicFieldsToRenderInsideBilling->Js.Array2.length > 1 || !isOnlyInfoElementPresent) + dynamicFieldsToRenderInsideBilling->Array.length > 0 && + (dynamicFieldsToRenderInsideBilling->Array.length > 1 || !isOnlyInfoElementPresent) { - fieldsArr->Js.Array2.length > 0 + fieldsArr->Array.length > 0 ? <> {dynamicFieldsToRenderOutsideBilling - ->Js.Array2.mapi((item, index) => { + ->Array.mapWithIndex((item, index) => {
Js.Int.toString}`} className="flex flex-col w-full place-content-between" @@ -443,7 +441,7 @@ let make = ( {React.string(localeString.billingDetailsText)}
{dynamicFieldsToRenderInsideBilling - ->Js.Array2.mapi((item, index) => { + ->Array.mapWithIndex((item, index) => {
Js.Int.toString}`} className="flex flex-col w-full place-content-between"> @@ -666,7 +664,7 @@ let make = ( | InfoElement => <> - {if fieldsArr->Js.Array2.length > 1 { + {if fieldsArr->Array.length > 1 { bottomElement } else { @@ -691,7 +689,7 @@ let make = ( {<> - {if fieldsArr->Js.Array2.length > 1 { + {if fieldsArr->Array.length > 1 { bottomElement } else { diff --git a/src/Components/Loader.res b/src/Components/Loader.res index 4a4edca4..bfb92093 100644 --- a/src/Components/Loader.res +++ b/src/Components/Loader.res @@ -5,7 +5,7 @@ let make = (~showText=true) => {
{arr - ->Js.Array2.mapi((item, i) => { + ->Array.mapWithIndex((item, i) => { Js.Array2.includes(value.value)->not + options->Array.includes(value.value)->not ) { setValue(.prev => { ...prev, @@ -74,7 +74,7 @@ let make = ( themeObj.colorBackground }, [themeObj]) let cursorClass = !disabled ? "cursor-pointer" : "cursor-not-allowed" - Js.Array2.length > 0}> + Array.length > 0}>
Js.String2.length > 0 && config.appearance.labels == Above}>
{options - ->Js.Array2.mapi((item: string, i) => { + ->Array.mapWithIndex((item: string, i) => { }) ->React.array} diff --git a/src/Components/PortalCapture.res b/src/Components/PortalCapture.res index 0db9638d..30adf4b2 100644 --- a/src/Components/PortalCapture.res +++ b/src/Components/PortalCapture.res @@ -2,23 +2,27 @@ let make = React.memo((~name: string) => { let (_, setPortalNodes) = Recoil.useRecoilState(RecoilAtoms.portalNodes) let setDiv = React.useCallback2((elem: Js.Nullable.t) => { - setPortalNodes(.prevDict => { - let clonedDict = - prevDict - ->Js.Dict.entries - ->Js.Array2.filter(entry => { - let (key, _val) = entry - key !== name - }) - ->Js.Dict.fromArray + setPortalNodes(. + prevDict => { + let clonedDict = + prevDict + ->Js.Dict.entries + ->Array.filter( + entry => { + let (key, _val) = entry + key !== name + }, + ) + ->Js.Dict.fromArray - switch elem->Js.Nullable.toOption { - | Some(elem) => Js.Dict.set(clonedDict, name, elem) - | None => () - } + switch elem->Js.Nullable.toOption { + | Some(elem) => Js.Dict.set(clonedDict, name, elem) + | None => () + } - clonedDict - }) + clonedDict + }, + ) }, (setPortalNodes, name))
diff --git a/src/Components/SavedMethods.res b/src/Components/SavedMethods.res index baeb2e53..fc20cb89 100644 --- a/src/Components/SavedMethods.res +++ b/src/Components/SavedMethods.res @@ -13,10 +13,10 @@ let make = ( let {themeObj, localeString} = Recoil.useRecoilValueFromAtom(RecoilAtoms.configAtom) let (showFields, setShowFields) = Recoil.useRecoilState(RecoilAtoms.showCardFieldsAtom) let (token, _) = paymentToken - let savedCardlength = savedMethods->Js.Array2.length + let savedCardlength = savedMethods->Array.length let bottomElement = { savedMethods - ->Js.Array2.mapi((obj, i) => { + ->Array.mapWithIndex((obj, i) => { let brandIcon = getCardBrandIcon( switch obj.card.scheme { | Some(ele) => ele diff --git a/src/Components/SurchargeUtils.res b/src/Components/SurchargeUtils.res index 8b250fb7..95d0d165 100644 --- a/src/Components/SurchargeUtils.res +++ b/src/Components/SurchargeUtils.res @@ -18,7 +18,7 @@ let getSurchargeDetailsForOneClickWallets = (~list) => { RecoilAtoms.areOneClickWalletsRendered, ) - oneClickWallets->Js.Array2.reduce((acc, wallet) => { + oneClickWallets->Array.reduce([], (acc, wallet) => { let isWalletBtnRendered = switch wallet.paymentMethodType { | "apple_pay" => areOneClickWalletsRendered.isApplePay | "paypal" => areOneClickWalletsRendered.isPaypal @@ -34,7 +34,7 @@ let getSurchargeDetailsForOneClickWallets = (~list) => { )->Option.getOr(PaymentMethodsRecord.defaultPaymentMethodType) switch paymentMethodType.surcharge_details { | Some(surchargDetails) => - acc->Js.Array2.concat([ + acc->Array.concat([ { name: wallet.displayName, surchargeDetails: surchargDetails, @@ -45,7 +45,7 @@ let getSurchargeDetailsForOneClickWallets = (~list) => { } else { acc } - }, []) + }) } let getMessage = ( @@ -75,8 +75,8 @@ let getOneClickWalletsMessage = (~list) => { let oneClickWalletsArr = getSurchargeDetailsForOneClickWallets(~list) - if oneClickWalletsArr->Js.Array2.length !== 0 { - let msg = oneClickWalletsArr->Js.Array2.reducei((acc, wallet, index) => { + if oneClickWalletsArr->Array.length !== 0 { + let msg = oneClickWalletsArr->Array.reduceWithIndex(React.null, (acc, wallet, index) => { let amount = wallet.surchargeDetails.displayTotalSurchargeAmount->Js.Float.toString let myMsg = <> @@ -100,7 +100,7 @@ let getOneClickWalletsMessage = (~list) => { {acc} {msgToConcat} - }, React.null) + }) let finalElement = <> {React.string(`${localeString.surchargeMsgAmountForOneClickWallets}:${Utils.nbsp}`)} diff --git a/src/Hooks/OutsideClick.res b/src/Hooks/OutsideClick.res index 10328e07..7229e8c2 100644 --- a/src/Hooks/OutsideClick.res +++ b/src/Hooks/OutsideClick.res @@ -32,23 +32,23 @@ let useOutsideClick = ( let isInsideClick = switch refs { | ArrayOfRef(refs) => - refs->Js.Array2.reduce((acc, ref: React.ref>) => { + refs->Array.reduce(false, (acc, ref: React.ref>) => { let isClickInsideRef = switch ffToWebDom(ref.current)->Js.Nullable.toOption { | Some(element) => element->Webapi.Dom.Element.contains(~child=ffToDomType(targ)) | None => false } acc || isClickInsideRef - }, false) + }) | RefArray(refs) => refs.current ->Js.Array2.slice(~start=0, ~end_=-1) - ->Js.Array2.reduce((acc, ref: Js.Nullable.t) => { + ->Array.reduce(false, (acc, ref: Js.Nullable.t) => { let isClickInsideRef = switch ffToWebDom(ref)->Js.Nullable.toOption { | Some(element) => element->Webapi.Dom.Element.contains(~child=ffToDomType(targ)) | None => false } acc || isClickInsideRef - }, false) + }) } let isClickInsideOfContainer = switch containerRefs { @@ -66,7 +66,7 @@ let useOutsideClick = ( } Js.Global.setTimeout(() => { - events->Js.Array2.forEach( + events->Array.forEach( event => { Webapi.Dom.window->Webapi.Dom.Window.addEventListener(event, handleClick) }, @@ -75,7 +75,7 @@ let useOutsideClick = ( Some( () => { - events->Js.Array2.forEach(event => + events->Array.forEach(event => Webapi.Dom.window->Webapi.Dom.Window.removeEventListener(event, handleClick) ) }, diff --git a/src/LoaderController.res b/src/LoaderController.res index c6c85c69..55e5c486 100644 --- a/src/LoaderController.res +++ b/src/LoaderController.res @@ -44,7 +44,7 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { (optionsPayment.defaultValues.billingDetails.address.postal_code, setUserAddressPincode), (optionsPayment.defaultValues.billingDetails.address.state, setUserAddressState), (optionsPayment.defaultValues.billingDetails.address.country, setUserAddressCountry), - ]->Js.Array2.forEach(val => { + ]->Array.forEach(val => { let (value, setValue) = val if value != "" { setValue(.prev => { @@ -163,7 +163,7 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { React.useEffect1(() => { CardUtils.genreateFontsLink(config.fonts) let dict = config.appearance.rules->getDictFromJson - if dict->Js.Dict.entries->Js.Array2.length > 0 { + if dict->Js.Dict.entries->Array.length > 0 { Utils.generateStyleSheet("", dict, "themestyle") } switch paymentMode->CardTheme.getPaymentMode { @@ -176,9 +176,9 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { ("input-empty", options.style.empty->getDictFromJson), ] styleClass - ->Js.Array2.map(item => { + ->Array.map(item => { let (class, dict) = item - if dict->Js.Dict.entries->Js.Array2.length > 0 { + if dict->Js.Dict.entries->Array.length > 0 { Utils.generateStyleSheet(class, dict, "widgetstyle")->ignore } }) @@ -268,7 +268,7 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { ("parentURL", "*"->JSON.Encode.string), ("sdkHandleConfirmPayment", false->JSON.Encode.bool), ("sdkHandleOneClickConfirmPayment", true->JSON.Encode.bool), - ]->Js.Array2.forEach(keyPair => { + ]->Array.forEach(keyPair => { dict->CommonHooks.updateKeys(keyPair, setKeys) }) @@ -351,10 +351,7 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { | Some(_) => LoadError(list) | None => let isNonEmptyPaymentMethodList = - list - ->Utils.getDictFromJson - ->Utils.getArray("payment_methods") - ->Js.Array2.length > 0 + list->Utils.getDictFromJson->Utils.getArray("payment_methods")->Array.length > 0 isNonEmptyPaymentMethodList ? Loaded(list) : LoadError(list) } switch updatedState { @@ -391,7 +388,7 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { let observer = ResizeObserver.newResizerObserver(entries => { entries - ->Js.Array2.map(item => { + ->Array.map(item => { setDivH(_ => item.contentRect.height) }) ->ignore diff --git a/src/Payment.res b/src/Payment.res index ce743c76..8ee67c98 100644 --- a/src/Payment.res +++ b/src/Payment.res @@ -66,7 +66,7 @@ let make = (~paymentMode, ~integrateError, ~logger) => { let obj = getobjFromCardPattern(cardBrand) let cvcLength = obj.maxCVCLenth if ( - cvcNumberInRange(cvcNumber, cardBrand)->Js.Array2.includes(true) && + cvcNumberInRange(cvcNumber, cardBrand)->Array.includes(true) && cvcNumber->Js.String2.length == cvcLength ) { blurRef(cvcRef) @@ -124,7 +124,7 @@ let make = (~paymentMode, ~integrateError, ~logger) => { logInputChangeInfo("cardCVC", logger) let cvc = val->formatCVCNumber(cardBrand) setCvcNumber(_ => cvc) - if cvc->Js.String2.length > 0 && cvcNumberInRange(cvc, cardBrand)->Js.Array2.includes(true) { + if cvc->Js.String2.length > 0 && cvcNumberInRange(cvc, cardBrand)->Array.includes(true) { zipRef.current->Js.Nullable.toOption->Option.forEach(input => input->focus)->ignore } } @@ -151,7 +151,7 @@ let make = (~paymentMode, ~integrateError, ~logger) => { let handleCardBlur = ev => { let cardNumber = ReactEvent.Focus.target(ev)["value"] - if cardNumberInRange(cardNumber)->Js.Array2.includes(true) && calculateLuhn(cardNumber) { + if cardNumberInRange(cardNumber)->Array.includes(true) && calculateLuhn(cardNumber) { setIsCardValid(_ => Some(true)) } else if cardNumber->Js.String2.length == 0 { setIsCardValid(_ => None) @@ -181,7 +181,7 @@ let make = (~paymentMode, ~integrateError, ~logger) => { let cvcNumber = ReactEvent.Focus.target(ev)["value"] if ( cvcNumber->Js.String2.length > 0 && - cvcNumberInRange(cvcNumber, cardBrand)->Js.Array2.includes(true) + cvcNumberInRange(cvcNumber, cardBrand)->Array.includes(true) ) { setIsCVCValid(_ => Some(true)) } else if cvcNumber->Js.String2.length == 0 { diff --git a/src/PaymentElement.res b/src/PaymentElement.res index 7e555294..69aea0fd 100644 --- a/src/PaymentElement.res +++ b/src/PaymentElement.res @@ -40,7 +40,7 @@ let make = ( switch methodslist { | Loaded(paymentlist) => let paymentOrder = - paymentOrder->Js.Array2.length > 0 ? paymentOrder : PaymentModeType.defaultOrder + paymentOrder->Array.length > 0 ? paymentOrder : PaymentModeType.defaultOrder let plist = paymentlist->Utils.getDictFromJson->PaymentMethodsRecord.itemToObjMapper let (wallets, otherOptions) = plist->PaymentUtils.paymentListLookupNew( @@ -50,7 +50,7 @@ let make = ( ) ( wallets->Utils.removeDuplicate, - paymentOptions->Js.Array2.concat(otherOptions)->Utils.removeDuplicate, + paymentOptions->Array.concat(otherOptions)->Utils.removeDuplicate, otherOptions, ) | SemiLoaded => @@ -72,7 +72,7 @@ let make = ( setWalletOptions(_ => walletList) setList(_ => plist) showCardFormByDefault - ? if !(actualList->Js.Array2.includes(selectedOption)) && selectedOption !== "" { + ? if !(actualList->Array.includes(selectedOption)) && selectedOption !== "" { ErrorUtils.manageErrorWarning( SDK_CONNECTOR_WARNING, ~dynamicStr="Please enable Card Payment in the dashboard, or 'ShowCard.FormByDefault' to false.", @@ -82,7 +82,7 @@ let make = ( } else if !Utils.checkPriorityList(paymentMethodOrder) { ErrorUtils.manageErrorWarning( SDK_CONNECTOR_WARNING, - ~dynamicStr=`'paymentMethodOrder' is ${Js.Array2.joinWith( + ~dynamicStr=`'paymentMethodOrder' is ${Array.joinWith( paymentMethodOrder->Utils.getOptionalArr, ", ", )} . Please enable Card Payment as 1st priority to show it as default.`, @@ -111,8 +111,8 @@ let make = ( let cardsCount: int = cardsToRender(cardsContainerWidth) let cardOpts = Js.Array.slice(~start=0, ~end_=cardsCount, paymentOptions) let dropOpts = Js.Array.sliceFrom(cardsCount, paymentOptions) - let isCard: bool = cardOpts->Js.Array2.includes(selectedOption) - if !isCard && selectedOption !== "" && paymentOptions->Js.Array2.includes(selectedOption) { + let isCard: bool = cardOpts->Array.includes(selectedOption) + if !isCard && selectedOption !== "" && paymentOptions->Array.includes(selectedOption) { let (cardArr, dropdownArr) = CardUtils.swapCardOption(cardOpts, dropOpts, selectedOption) setCardOptions(_ => cardArr) setDropDownOptions(_ => dropdownArr) @@ -147,7 +147,7 @@ let make = ( | LoadError(_) => showCardFormByDefault && Utils.checkPriorityList(paymentMethodOrder) ? "card" : "" | Loaded(_) => - paymentOptions->Js.Array2.includes(selectedOption) && showCardFormByDefault + paymentOptions->Array.includes(selectedOption) && showCardFormByDefault ? selectedOption : paymentOptions->Belt.Array.get(0)->Option.getOr("") | _ => paymentOptions->Belt.Array.get(0)->Option.getOr("") @@ -157,7 +157,7 @@ let make = ( }, (layoutClass.defaultCollapsed, paymentOptions, methodslist, selectedOption)) React.useEffect1(() => { if layoutClass.\"type" == Tabs { - let isCard: bool = cardOptions->Js.Array2.includes(selectedOption) + let isCard: bool = cardOptions->Array.includes(selectedOption) if !isCard { let (cardArr, dropdownArr) = CardUtils.swapCardOption( cardOptions, @@ -179,7 +179,7 @@ let make = ( None }, [selectedOption]) let checkRenderOrComp = () => { - walletOptions->Js.Array2.includes("paypal") || isShowOrPayUsing + walletOptions->Array.includes("paypal") || isShowOrPayUsing } let dict = sessions->Utils.getDictFromJson let sessionObj = SessionsType.itemToObjMapper(dict, Others) @@ -297,15 +297,14 @@ let make = ( } <> - Js.Array2.length > 0 || walletOptions->Js.Array2.length > 0}> + Array.length > 0 || walletOptions->Array.length > 0}>
Js.Array2.length > 0 && - walletOptions->Js.Array2.length > 0 && + condition={paymentOptions->Array.length > 0 && + walletOptions->Array.length > 0 && checkRenderOrComp()}> @@ -327,8 +326,7 @@ let make = ( {switch methodslist { | LoadError(_) => React.null | _ => - Js.Array2.length == 0 && walletOptions->Js.Array2.length == 0}> + Array.length == 0 && walletOptions->Array.length == 0}> }} diff --git a/src/PaymentElementRenderer.res b/src/PaymentElementRenderer.res index 1fb27f55..df02ca75 100644 --- a/src/PaymentElementRenderer.res +++ b/src/PaymentElementRenderer.res @@ -5,7 +5,7 @@ let make = ( ~cardProps: CardUtils.cardProps, ~expiryProps: CardUtils.expiryProps, ~cvcProps: CardUtils.cvcProps, - ~countryProps: (string, Js.Array2.t), + ~countryProps: (string, array), ) => { let _cardsToRender = width => { (width - 40) / 110 diff --git a/src/PaymentElementRenderer.resi b/src/PaymentElementRenderer.resi index 331e60a6..0b212b40 100644 --- a/src/PaymentElementRenderer.resi +++ b/src/PaymentElementRenderer.resi @@ -4,5 +4,5 @@ let default: ( ~cardProps: CardUtils.cardProps, ~expiryProps: CardUtils.expiryProps, ~cvcProps: CardUtils.cvcProps, - ~countryProps: (string, Js.Array2.t), + ~countryProps: (string, array), ) => React.element diff --git a/src/PaymentElementRendererLazy.res b/src/PaymentElementRendererLazy.res index 673c9aa6..0c679471 100644 --- a/src/PaymentElementRendererLazy.res +++ b/src/PaymentElementRendererLazy.res @@ -5,7 +5,7 @@ type props = { cardProps: CardUtils.cardProps, expiryProps: CardUtils.expiryProps, cvcProps: CardUtils.cvcProps, - countryProps: (string, Js.Array2.t), + countryProps: (string, array), } let make: props => React.element = reactLazy(.() => import_("./PaymentElementRenderer.bs.js")) diff --git a/src/PaymentOptions.res b/src/PaymentOptions.res index 0689dab3..8112801c 100644 --- a/src/PaymentOptions.res +++ b/src/PaymentOptions.res @@ -9,7 +9,7 @@ module TabLoader = { switch list { | SemiLoaded => Belt.Array.make(cardShimmerCount - 1, "") - ->Js.Array2.mapi((_, i) => { + ->Array.mapWithIndex((_, i) => {
Belt.Int.toString} @@ -78,7 +78,7 @@ let make = ( let dropDownOptionsDetails = dropDownOptions->PaymentMethodsRecord.getPaymentDetails let selectedPaymentOption = PaymentMethodsRecord.paymentMethodsFields - ->Js.Array2.find(item => item.paymentMethodName == selectedOption) + ->Array.find(item => item.paymentMethodName == selectedOption) ->Option.getOr(PaymentMethodsRecord.defaultPaymentMethodFields) React.useEffect1(() => { @@ -119,13 +119,13 @@ let make = ( (), )}> {cardOptionDetails - ->Js.Array2.mapi((payOption, i) => { + ->Array.mapWithIndex((payOption, i) => { let isActive = payOption.paymentMethodName == selectedOption Belt.Int.toString} paymentOption=payOption isActive /> }) ->React.array} - Js.Array2.length > 0}> + Array.length > 0}>
{switch dropDownOptionsDetails->Belt.Array.get(moreIconIndex) { @@ -175,7 +175,7 @@ let make = ( )} {dropDownOptionsDetails - ->Js.Array2.mapi((item, i) => { + ->Array.mapWithIndex((item, i) => {
{keys - ->Js.Array2.map(item => + ->Array.map(item =>
diff --git a/src/Payments/CardPayment.res b/src/Payments/CardPayment.res index 051645bb..11ac357d 100644 --- a/src/Payments/CardPayment.res +++ b/src/Payments/CardPayment.res @@ -84,16 +84,16 @@ let make = ( switch customerPaymentMethods { | LoadingSavedCards => () | LoadedSavedCards(arr, isGuestCustomer) => { - let savedCards = arr->Js.Array2.filter((item: PaymentType.customerMethods) => { + let savedCards = arr->Array.filter((item: PaymentType.customerMethods) => { item.paymentMethod == "card" }) setSavedMethods(_ => savedCards) setLoadSavedCards(_ => - savedCards->Js.Array2.length == 0 + savedCards->Array.length == 0 ? NoResult(isGuestCustomer) : LoadedSavedCards(savedCards, isGuestCustomer) ) - setShowFields(.prev => savedCards->Js.Array2.length == 0 || prev) + setShowFields(.prev => savedCards->Array.length == 0 || prev) } | NoResult(isGuestCustomer) => { setLoadSavedCards(_ => NoResult(isGuestCustomer)) @@ -114,7 +114,7 @@ let make = ( React.useEffect1(() => { let tokenobj = - savedMethods->Js.Array2.length > 0 + savedMethods->Array.length > 0 ? Some(savedMethods->Belt.Array.get(0)->Option.getOr(defaultCustomerMethods)) : None @@ -182,7 +182,7 @@ let make = ( ) let banContactBody = PaymentBody.bancontactBody() let cardBody = isSaveCardsChecked - ? deafultCardBody->Js.Array2.concat(onSessionBody) + ? deafultCardBody->Array.concat(onSessionBody) : deafultCardBody if confirm.doSubmit { let validFormat = @@ -341,7 +341,7 @@ let make = (
- Js.Array2.length > 0 && !isBancontact}> + Array.length > 0 && !isBancontact}>
PaymentMethodsRecord.defaultPaymentMethodType } - let isWallet = walletOptions->Js.Array2.includes("google_pay") + let isWallet = walletOptions->Array.includes("google_pay") let paymentExperience = switch googlePayPaymentMethodType.payment_experience[0] { | Some(paymentExperience) => paymentExperience.payment_experience_type | None => PaymentMethodsRecord.RedirectToURL diff --git a/src/Payments/KlarnaPayment.res b/src/Payments/KlarnaPayment.res index bade1fa1..53c24991 100644 --- a/src/Payments/KlarnaPayment.res +++ b/src/Payments/KlarnaPayment.res @@ -25,7 +25,7 @@ let make = (~paymentType, ~countryProps, ~list: PaymentMethodsRecord.list) => { open Utils let clientCountryCode = Country.country - ->Js.Array2.find(item => item.countryName == country) + ->Array.find(item => item.countryName == country) ->Option.getOr(Country.defaultTimeZone) let complete = email.value != "" && fullName.value != "" && email.isValid->Option.getOr(false) diff --git a/src/Payments/KlarnaPaymentLazy.res b/src/Payments/KlarnaPaymentLazy.res index 36ee2f6a..ec0f2db4 100644 --- a/src/Payments/KlarnaPaymentLazy.res +++ b/src/Payments/KlarnaPaymentLazy.res @@ -3,7 +3,7 @@ open LazyUtils type props = { paymentType: CardThemeType.mode, list: PaymentMethodsRecord.list, - countryProps: (string, Js.Array2.t), + countryProps: (string, array), } let make: props => React.element = reactLazy(.() => import_("./KlarnaPayment.bs.js")) diff --git a/src/Payments/PaymentMethodsRecord.res b/src/Payments/PaymentMethodsRecord.res index 4e70fa5e..2f2d070c 100644 --- a/src/Payments/PaymentMethodsRecord.res +++ b/src/Payments/PaymentMethodsRecord.res @@ -535,12 +535,12 @@ let getPaymentMethodsFieldTypeFromDict = dict => { let options = dict->Utils.getArrayValFromJsonDict("user_address_country", "options") switch options->Belt.Array.get(0)->Option.getOr("") { | "" => None - | "ALL" => AddressCountry(Country.country->Js.Array2.map(item => item.countryName)) + | "ALL" => AddressCountry(Country.country->Array.map(item => item.countryName)) | _ => AddressCountry( Country.country - ->Js.Array2.filter(item => options->Js.Array2.includes(item.isoAlpha2)) - ->Js.Array2.map(item => item.countryName), + ->Array.filter(item => options->Array.includes(item.isoAlpha2)) + ->Array.map(item => item.countryName), ) } } @@ -593,13 +593,13 @@ let getIsBillingField = requiredFieldType => { } let getIsAnyBillingDetailEmpty = (requiredFields: array) => { - requiredFields->Js.Array2.reduce((acc, requiredField) => { + requiredFields->Array.reduce(false, (acc, requiredField) => { if getIsBillingField(requiredField.field_type) { requiredField.value === "" || acc } else { acc } - }, false) + }) } let getPaymentMethodFields = ( @@ -610,7 +610,7 @@ let getPaymentMethodFields = ( (), ) => { let isAnyBillingDetailEmpty = requiredFields->getIsAnyBillingDetailEmpty - let requiredFieldsArr = requiredFields->Js.Array2.map(requiredField => { + let requiredFieldsArr = requiredFields->Array.map(requiredField => { let isShowBillingField = getIsBillingField(requiredField.field_type) && isAnyBillingDetailEmpty if requiredField.value === "" || isShowBillingField { if ( @@ -626,10 +626,10 @@ let getPaymentMethodFields = ( None } }) - requiredFieldsArr->Js.Array2.concat( + requiredFieldsArr->Array.concat( ( paymentMethodsFields - ->Js.Array2.find(x => x.paymentMethodName === paymentMethod) + ->Array.find(x => x.paymentMethodName === paymentMethod) ->Option.getOr({ paymentMethodName: "", fields: [], @@ -644,10 +644,10 @@ let getPaymentMethodFields = ( let getPaymentDetails = (arr: array) => { let finalArr = [] arr - ->Js.Array2.map(item => { - let optionalVal = paymentMethodsFields->Js.Array2.find(i => i.paymentMethodName == item) + ->Array.map(item => { + let optionalVal = paymentMethodsFields->Array.find(i => i.paymentMethodName == item) switch optionalVal { - | Some(val) => finalArr->Js.Array2.push(val)->ignore + | Some(val) => finalArr->Array.push(val)->ignore | None => () } }) @@ -775,7 +775,7 @@ let getPaymentExperience = (dict, str) => { ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) ->Belt.Array.keepMap(JSON.Decode.object) - ->Js.Array2.map(json => { + ->Array.map(json => { { payment_experience_type: getString( json, @@ -815,7 +815,7 @@ let getCardNetworks = (dict, str) => { ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) ->Belt.Array.keepMap(JSON.Decode.object) - ->Js.Array2.map(json => { + ->Array.map(json => { { card_network: getString(json, "card_network", "")->CardUtils.cardType, eligible_connectors: getStrArray(json, "eligible_connectors"), @@ -830,13 +830,13 @@ let getBankNames = (dict, str) => { ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) ->Belt.Array.keepMap(JSON.Decode.object) - ->Js.Array2.map(json => { + ->Array.map(json => { getStrArray(json, "bank_name") }) - ->Js.Array2.reduce((acc, item) => { - item->Js.Array2.forEach(obj => acc->Js.Array2.push(obj)->ignore) + ->Array.reduce([], (acc, item) => { + item->Array.forEach(obj => acc->Array.push(obj)->ignore) acc - }, []) + }) } let getAchConnectors = (dict, str) => { @@ -853,7 +853,7 @@ let getDynamicFieldsFromJsonDict = (dict, isBancontact) => { ->Utils.getDictFromJson ->Js.Dict.values - requiredFields->Js.Array2.map(requiredField => { + requiredFields->Array.map(requiredField => { let requiredFieldsDict = requiredField->Utils.getDictFromJson { required_field: requiredFieldsDict->Utils.getString("required_field", ""), @@ -870,7 +870,7 @@ let getPaymentMethodTypes = (dict, str) => { ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) ->Belt.Array.keepMap(JSON.Decode.object) - ->Js.Array2.map(jsonDict => { + ->Array.map(jsonDict => { let paymentMethodType = getString(jsonDict, "payment_method_type", "") { payment_method_type: paymentMethodType, @@ -893,7 +893,7 @@ let getMethodsArr = (dict, str) => { ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) ->Belt.Array.keepMap(JSON.Decode.object) - ->Js.Array2.map(json => { + ->Array.map(json => { { payment_method: getString(json, "payment_method", ""), payment_method_types: getPaymentMethodTypes(json, "payment_method_types"), @@ -937,59 +937,57 @@ let itemToObjMapper = dict => { let buildFromPaymentList = (plist: list) => { let paymentMethodArr = plist.payment_methods - let x = - paymentMethodArr - ->Js.Array2.map(paymentMethodObject => { - let methodType = paymentMethodObject.payment_method - let handleUserError = methodType === "wallet" - paymentMethodObject.payment_method_types->Js.Array2.map(individualPaymentMethod => { - let paymentMethodName = individualPaymentMethod.payment_method_type - let bankNames = individualPaymentMethod.bank_names - let paymentExperience = individualPaymentMethod.payment_experience->Js.Array2.map( - experience => { - (experience.payment_experience_type, experience.eligible_connectors) - }, - ) - { + + paymentMethodArr + ->Array.map(paymentMethodObject => { + let methodType = paymentMethodObject.payment_method + let handleUserError = methodType === "wallet" + paymentMethodObject.payment_method_types->Array.map(individualPaymentMethod => { + let paymentMethodName = individualPaymentMethod.payment_method_type + let bankNames = individualPaymentMethod.bank_names + let paymentExperience = individualPaymentMethod.payment_experience->Array.map( + experience => { + (experience.payment_experience_type, experience.eligible_connectors) + }, + ) + { + paymentMethodName, + fields: getPaymentMethodFields( paymentMethodName, - fields: getPaymentMethodFields( - paymentMethodName, - individualPaymentMethod.required_fields, - (), - ), - paymentFlow: paymentExperience, - handleUserError, - methodType, - bankNames, - } - }) + individualPaymentMethod.required_fields, + (), + ), + paymentFlow: paymentExperience, + handleUserError, + methodType, + bankNames, + } }) - ->Js.Array2.reduce((acc, item) => { - item->Js.Array2.forEach(obj => acc->Js.Array2.push(obj)->ignore) - acc - }, []) - - x + }) + ->Array.reduce([], (acc, item) => { + item->Array.forEach(obj => acc->Array.push(obj)->ignore) + acc + }) } let getPaymentMethodTypeFromList = (~list: list, ~paymentMethod, ~paymentMethodType) => { ( list.payment_methods - ->Js.Array2.find(item => { + ->Array.find(item => { item.payment_method == paymentMethod }) ->Option.getOr({ payment_method: "card", payment_method_types: [], }) - ).payment_method_types->Js.Array2.find(item => { + ).payment_method_types->Array.find(item => { item.payment_method_type == paymentMethodType }) } let getCardNetwork = (~paymentMethodType, ~cardBrand) => { paymentMethodType.card_networks - ->Js.Array2.filter(cardNetwork => cardNetwork.card_network === cardBrand) + ->Array.filter(cardNetwork => cardNetwork.card_network === cardBrand) ->Belt.Array.get(0) ->Option.getOr(defaultCardNetworks) } diff --git a/src/Payments/PaymentMethodsWrapper.res b/src/Payments/PaymentMethodsWrapper.res index 2a63c3a3..62ae4b96 100644 --- a/src/Payments/PaymentMethodsWrapper.res +++ b/src/Payments/PaymentMethodsWrapper.res @@ -17,7 +17,7 @@ let make = ( let optionPaymentMethodDetails = list ->PaymentMethodsRecord.buildFromPaymentList - ->Js.Array2.find(x => + ->Array.find(x => x.paymentMethodName === PaymentUtils.getPaymentMethodName(~paymentMethodType=x.methodType, ~paymentMethodName) ) @@ -69,13 +69,13 @@ let make = ( if complete { let countryCode = Country.getCountry(paymentMethodName) - ->Js.Array2.filter(item => item.countryName == country) + ->Array.filter(item => item.countryName == country) ->Belt.Array.get(0) ->Option.getOr(Country.defaultTimeZone) let bank = Bank.getBanks(paymentMethodName) - ->Js.Array2.filter(item => item.displayName == selectedBank) + ->Array.filter(item => item.displayName == selectedBank) ->Belt.Array.get(0) ->Option.getOr(Bank.defaultBank) intent( diff --git a/src/Payments/PaymentRequestButtonElement.res b/src/Payments/PaymentRequestButtonElement.res index ba3682e7..5f4e46b3 100644 --- a/src/Payments/PaymentRequestButtonElement.res +++ b/src/Payments/PaymentRequestButtonElement.res @@ -35,7 +35,7 @@ let make = (~sessions, ~walletOptions, ~list: PaymentMethodsRecord.list) => {
{walletOptions - ->Js.Array2.mapi((item, i) => { + ->Array.mapWithIndex((item, i) => { Belt.Int.toString}-request-button`}> } key={i->Belt.Int.toString}> diff --git a/src/Payments/QRCodeDisplay.res b/src/Payments/QRCodeDisplay.res index 8d876549..c208aa41 100644 --- a/src/Payments/QRCodeDisplay.res +++ b/src/Payments/QRCodeDisplay.res @@ -39,7 +39,7 @@ let make = () => { setReturnUrl(_ => metadata->getDictFromJson->getString("url", "")) headersDict ->Js.Dict.entries - ->Js.Array2.forEach(entries => { + ->Array.forEach(entries => { let (x, val) = entries Js.Dict.set(headers, x, val->JSON.Decode.string->Option.getOr("")) }) diff --git a/src/Payments/SepaBankTransfer.res b/src/Payments/SepaBankTransfer.res index 07523bd8..78b4bc32 100644 --- a/src/Payments/SepaBankTransfer.res +++ b/src/Payments/SepaBankTransfer.res @@ -23,7 +23,7 @@ let make = ( let setComplete = Recoil.useSetRecoilState(fieldsComplete) let clientCountryCode = Country.country - ->Js.Array2.find(item => item.countryName == country) + ->Array.find(item => item.countryName == country) ->Option.getOr(Country.defaultTimeZone) let complete = email.value != "" && fullName.value != "" && email.isValid->Option.getOr(false) let empty = email.value == "" || fullName.value == "" diff --git a/src/ResizeObserver.res b/src/ResizeObserver.res index e147d4f8..e823f848 100644 --- a/src/ResizeObserver.res +++ b/src/ResizeObserver.res @@ -4,4 +4,4 @@ type dimensions = { width: float, } type ele = {contentRect: dimensions} -@new external newResizerObserver: (Js.Array2.t => unit) => observer = "ResizeObserver" +@new external newResizerObserver: (array => unit) => observer = "ResizeObserver" diff --git a/src/SingleLineCardPayment.res b/src/SingleLineCardPayment.res index dba430a5..cec80b60 100644 --- a/src/SingleLineCardPayment.res +++ b/src/SingleLineCardPayment.res @@ -75,21 +75,21 @@ let make = ( let checkValueIsInvalid = item => item == "invalid" let (cardEmpty, cardComplete, cardInvalid, cardFocused) = React.useMemo4(() => { - let isCardDetailsEmpty = Js.Array2.every( + let isCardDetailsEmpty = Array.every( [cardNumber, cardExpiry, cvcNumber, zipCode], checkLengthIsZero, ) ? `${options.classes.base} ${options.classes.empty} ` : options.classes.base - let isCardDetailsValid = Js.Array2.every( + let isCardDetailsValid = Array.every( [isCardValidValue, isExpiryValidValue, isCVCValidValue, isZipValidValue], checkValueIsValid, ) ? ` ${options.classes.complete} ` : `` - let isCardDetailsInvalid = Js.Array2.some( + let isCardDetailsInvalid = Array.some( [isCardValidValue, isExpiryValidValue, isCVCValidValue, isZipValidValue], checkValueIsInvalid, ) diff --git a/src/Types/GooglePayType.res b/src/Types/GooglePayType.res index b533dbaf..f2f1cba3 100644 --- a/src/Types/GooglePayType.res +++ b/src/Types/GooglePayType.res @@ -118,7 +118,7 @@ let jsonToPaymentRequestDataType: (paymentDataRequest, Js.Dict.t) => pay paymentRequest.allowedPaymentMethods = jsonDict ->Utils.getArray("allowed_payment_methods") - ->Js.Array2.map(json => Utils.transformKeys(json, Utils.CamelCase)) + ->Array.map(json => Utils.transformKeys(json, Utils.CamelCase)) paymentRequest.transactionInfo = jsonDict ->Utils.getJsonFromDict("transaction_info", JSON.Encode.null) diff --git a/src/Types/PaymentType.res b/src/Types/PaymentType.res index 8eee55ea..c8e86708 100644 --- a/src/Types/PaymentType.res +++ b/src/Types/PaymentType.res @@ -278,7 +278,7 @@ let getAddress = (dict, str, logger) => { ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { let countryNames = [] - Country.country->Js.Array2.map(item => countryNames->Js.Array2.push(item.countryName))->ignore + Country.country->Array.map(item => countryNames->Array.push(item.countryName))->ignore unknownKeysWarning( ["line1", "line2", "city", "state", "country", "postal_code"], json, @@ -442,7 +442,7 @@ let getTypeArray = (str, logger) => { "tip", "contribute", ] - if !Js.Array2.includes(goodVals, str) { + if !Array.includes(goodVals, str) { str->unknownPropValueWarning(goodVals, "options.wallets.style.type", ~logger) } (str->getApplePayType, str->getGooglePayType, str->getPayPalType) @@ -787,7 +787,7 @@ let createCustomerObjArr = dict => { let customerPaymentMethods = customerArr ->Belt.Array.keepMap(JSON.Decode.object) - ->Js.Array2.map(json => { + ->Array.map(json => { { paymentToken: getString(json, "payment_token", ""), customerId: getString(json, "customer_id", ""), @@ -802,11 +802,11 @@ let createCustomerObjArr = dict => { let getCustomerMethods = (dict, str) => { let customerArr = dict->Js.Dict.get(str)->Option.flatMap(JSON.Decode.array)->Option.getOr([]) - if customerArr->Js.Array2.length !== 0 { + if customerArr->Array.length !== 0 { let customerPaymentMethods = customerArr ->Belt.Array.keepMap(JSON.Decode.object) - ->Js.Array2.map(json => { + ->Array.map(json => { { paymentToken: getString(json, "payment_token", ""), customerId: getString(json, "customer_id", ""), @@ -827,7 +827,7 @@ let getCustomMethodNames = (dict, str) => { ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) ->Belt.Array.keepMap(JSON.Decode.object) - ->Js.Array2.map(json => { + ->Array.map(json => { paymentMethodName: getString(json, "paymentMethodName", ""), aliasName: getString(json, "aliasName", ""), }) @@ -905,7 +905,7 @@ type loadType = Loading | Loaded(JSON.t) | SemiLoaded | LoadError(JSON.t) let getIsAllStoredCardsHaveName = (savedCards: array) => { savedCards - ->Js.Array2.filter(savedCard => { + ->Array.filter(savedCard => { switch savedCard.card.cardHolderName { | None | Some("") => false diff --git a/src/Types/SessionsType.res b/src/Types/SessionsType.res index 4336a5a1..e9b61e6d 100644 --- a/src/Types/SessionsType.res +++ b/src/Types/SessionsType.res @@ -50,7 +50,7 @@ let getSessionsToken = (dict, str) => { ->Js.Dict.get(str) ->Option.flatMap(JSON.Decode.array) ->Option.map(arr => { - arr->Js.Array2.map(json => { + arr->Array.map(json => { let dict = json->getDictFromJson { walletName: getString(dict, "wallet_name", "")->getWallet, @@ -91,7 +91,7 @@ let itemToObjMapper = (dict, returnType) => { } let getWalletFromTokenType = (arr, val: wallet) => { - let x = arr->Js.Array2.find(item => + let x = arr->Array.find(item => item ->JSON.Decode.object ->Option.flatMap(x => { @@ -111,6 +111,6 @@ let getPaymentSessionObj = (tokenType: tokenType, val: wallet) => { | GooglePayThirdPartyToken(arr) => GooglePayThirdPartyTokenOptional(getWalletFromTokenType(arr, val)) - | OtherToken(arr) => OtherTokenOptional(arr->Js.Array2.find(item => item.walletName == val)) + | OtherToken(arr) => OtherTokenOptional(arr->Array.find(item => item.walletName == val)) } } diff --git a/src/Utilities/ApiEndpoint.res b/src/Utilities/ApiEndpoint.res index 31382395..ae772e99 100644 --- a/src/Utilities/ApiEndpoint.res +++ b/src/Utilities/ApiEndpoint.res @@ -28,7 +28,7 @@ let addCustomPodHeader = (arr: array<(string, string)>, ~switchToCustomPod=?, () | None => false } if customPod { - arr->Js.Array2.concat([("x-feature", "router-custom-dbd")])->Js.Dict.fromArray + arr->Array.concat([("x-feature", "router-custom-dbd")])->Js.Dict.fromArray } else { arr->Js.Dict.fromArray } diff --git a/src/Utilities/DynamicFieldsUtils.res b/src/Utilities/DynamicFieldsUtils.res index dde78d82..55cf444a 100644 --- a/src/Utilities/DynamicFieldsUtils.res +++ b/src/Utilities/DynamicFieldsUtils.res @@ -5,9 +5,12 @@ let getName = (item: PaymentMethodsRecord.required_fields, field: RecoilAtomType ->Belt.Array.get(requiredFieldsArr->Belt.Array.length - 1) ->Option.getOr("") { | "first_name" => fieldNameArr->Belt.Array.get(0)->Option.getOr(field.value) - | "last_name" => fieldNameArr->Belt.Array.sliceToEnd(1)->Js.Array2.reduce((acc, item) => { + | "last_name" => + fieldNameArr + ->Belt.Array.sliceToEnd(1) + ->Array.reduce("", (acc, item) => { acc ++ item - }, "") + }) | _ => field.value } } @@ -50,11 +53,11 @@ let getBillingAddressPathFromFieldType = (fieldType: PaymentMethodsRecord.paymen } let removeBillingDetailsIfUseBillingAddress = ( - requiredFields: Js.Array2.t, + requiredFields: array, billingAddress: PaymentType.billingAddress, ) => { if billingAddress.isUseBillingAddress { - requiredFields->Js.Array2.filter(requiredField => { + requiredFields->Array.filter(requiredField => { !(requiredField.field_type->isBillingAddressFieldType) }) } else { @@ -67,7 +70,7 @@ let addBillingAddressIfUseBillingAddress = ( billingAddress: PaymentType.billingAddress, ) => { if billingAddress.isUseBillingAddress { - fieldsArr->Js.Array2.concat(billingAddressFields) + fieldsArr->Array.concat(billingAddressFields) } else { fieldsArr } @@ -79,8 +82,8 @@ let checkIfNameIsValid = ( field: RecoilAtomTypes.field, ) => { requiredFieldsType - ->Js.Array2.filter(required_field => required_field.field_type === paymentMethodFields) - ->Js.Array2.reduce((acc, item) => { + ->Array.filter(required_field => required_field.field_type === paymentMethodFields) + ->Array.reduce(true, (acc, item) => { let fieldNameArr = field.value->Js.String2.split(" ") let requiredFieldsArr = item.required_field->Js.String2.split(".") let fieldValue = switch requiredFieldsArr @@ -91,12 +94,12 @@ let checkIfNameIsValid = ( | _ => field.value } acc && fieldValue !== "" - }, true) + }) } let useRequiredFieldsEmptyAndValid = ( ~requiredFields, - ~fieldsArr: Js.Array2.t, + ~fieldsArr: array, ~countryNames, ~bankNames, ~isCardValid, @@ -126,7 +129,7 @@ let useRequiredFieldsEmptyAndValid = ( let fieldsArrWithBillingAddress = fieldsArr->addBillingAddressIfUseBillingAddress(billingAddress) React.useEffect7(() => { - let areRequiredFieldsValid = fieldsArr->Js.Array2.reduce((acc, paymentMethodFields) => { + let areRequiredFieldsValid = fieldsArr->Array.reduce(true, (acc, paymentMethodFields) => { acc && switch paymentMethodFields { | Email => email.isValid->Option.getOr(false) @@ -157,47 +160,49 @@ let useRequiredFieldsEmptyAndValid = ( | CardExpiryAndCvc => isExpiryValid->Option.getOr(false) && isCVCValid->Option.getOr(false) | _ => true } - }, true) + }) setAreRequiredFieldsValid(._ => areRequiredFieldsValid) - let areRequiredFieldsEmpty = - fieldsArrWithBillingAddress->Js.Array2.reduce((acc, paymentMethodFields) => { - acc || - switch paymentMethodFields { - | Email => email.value === "" - | FullName => fullName.value === "" - | Country => country === "" && countryNames->Belt.Array.length > 0 - | AddressCountry(countryArr) => country === "" && countryArr->Belt.Array.length > 0 - | BillingName => billingName.value === "" - | AddressLine1 => line1.value === "" - | AddressLine2 => billingAddress.isUseBillingAddress ? false : line2.value === "" - | Bank => selectedBank === "" && bankNames->Belt.Array.length > 0 - | StateAndCity => city.value === "" || state.value === "" - | CountryAndPincode(countryArr) => - (country === "" && countryArr->Belt.Array.length > 0) || postalCode.value === "" - | PhoneNumber => phone.value === "" - | AddressCity => city.value === "" - | AddressPincode => postalCode.value === "" - | AddressState => state.value === "" - | BlikCode => blikCode.value === "" - | Currency(currencyArr) => currency === "" && currencyArr->Belt.Array.length > 0 - | CardNumber => cardNumber === "" - | CardExpiryMonth => - let (month, _) = CardUtils.getExpiryDates(cardExpiry) - month === "" - | CardExpiryYear => - let (_, year) = CardUtils.getExpiryDates(cardExpiry) - year === "" - | CardExpiryMonthAndYear => - let (month, year) = CardUtils.getExpiryDates(cardExpiry) - month === "" || year === "" - | CardCvc => cvcNumber === "" - | CardExpiryAndCvc => - let (month, year) = CardUtils.getExpiryDates(cardExpiry) - month === "" || year === "" || cvcNumber === "" - | _ => false - } - }, false) + let areRequiredFieldsEmpty = fieldsArrWithBillingAddress->Array.reduce(false, ( + acc, + paymentMethodFields, + ) => { + acc || + switch paymentMethodFields { + | Email => email.value === "" + | FullName => fullName.value === "" + | Country => country === "" && countryNames->Belt.Array.length > 0 + | AddressCountry(countryArr) => country === "" && countryArr->Belt.Array.length > 0 + | BillingName => billingName.value === "" + | AddressLine1 => line1.value === "" + | AddressLine2 => billingAddress.isUseBillingAddress ? false : line2.value === "" + | Bank => selectedBank === "" && bankNames->Belt.Array.length > 0 + | StateAndCity => city.value === "" || state.value === "" + | CountryAndPincode(countryArr) => + (country === "" && countryArr->Belt.Array.length > 0) || postalCode.value === "" + | PhoneNumber => phone.value === "" + | AddressCity => city.value === "" + | AddressPincode => postalCode.value === "" + | AddressState => state.value === "" + | BlikCode => blikCode.value === "" + | Currency(currencyArr) => currency === "" && currencyArr->Belt.Array.length > 0 + | CardNumber => cardNumber === "" + | CardExpiryMonth => + let (month, _) = CardUtils.getExpiryDates(cardExpiry) + month === "" + | CardExpiryYear => + let (_, year) = CardUtils.getExpiryDates(cardExpiry) + year === "" + | CardExpiryMonthAndYear => + let (month, year) = CardUtils.getExpiryDates(cardExpiry) + month === "" || year === "" + | CardCvc => cvcNumber === "" + | CardExpiryAndCvc => + let (month, year) = CardUtils.getExpiryDates(cardExpiry) + month === "" || year === "" || cvcNumber === "" + | _ => false + } + }) setAreRequiredFieldsEmpty(._ => areRequiredFieldsEmpty) None }, ( @@ -227,7 +232,7 @@ let useRequiredFieldsEmptyAndValid = ( } let useSetInitialRequiredFields = ( - ~requiredFields: Js.Array2.t, + ~requiredFields: array, ~paymentMethodType, ) => { let logger = Recoil.useRecoilValueFromAtom(RecoilAtoms.loggerAtom) @@ -276,8 +281,8 @@ let useSetInitialRequiredFields = ( React.useEffect1(() => { let getNameValue = (item: PaymentMethodsRecord.required_fields) => { requiredFields - ->Js.Array2.filter(requiredFields => requiredFields.field_type === item.field_type) - ->Js.Array2.reduce((acc, item) => { + ->Array.filter(requiredFields => requiredFields.field_type === item.field_type) + ->Array.reduce("", (acc, item) => { let requiredFieldsArr = item.required_field->Js.String2.split(".") switch requiredFieldsArr ->Belt.Array.get(requiredFieldsArr->Belt.Array.length - 1) @@ -286,7 +291,7 @@ let useSetInitialRequiredFields = ( | "last_name" => acc->Js.String2.concatMany([" ", item.value]) | _ => acc } - }, "") + }) ->Js.String2.trim } @@ -309,7 +314,7 @@ let useSetInitialRequiredFields = ( } } - requiredFields->Js.Array2.forEach(requiredField => { + requiredFields->Array.forEach(requiredField => { let value = requiredField.value switch requiredField.field_type { | Email => { @@ -336,7 +341,7 @@ let useSetInitialRequiredFields = ( if value !== "" && country === "" { let countryCode = Country.getCountry(paymentMethodType) - ->Js.Array2.filter(item => item.isoAlpha2 === value) + ->Array.filter(item => item.isoAlpha2 === value) ->Belt.Array.get(0) ->Option.getOr(Country.defaultTimeZone) setCountry(. _ => countryCode.countryName) @@ -353,7 +358,7 @@ let useSetInitialRequiredFields = ( if value !== "" { let defaultCountry = Country.getCountry(paymentMethodType) - ->Js.Array2.filter(item => item.isoAlpha2 === value) + ->Array.filter(item => item.isoAlpha2 === value) ->Belt.Array.get(0) ->Option.getOr(Country.defaultTimeZone) setCountry(. _ => defaultCountry.countryName) @@ -382,7 +387,7 @@ let useSetInitialRequiredFields = ( } let useRequiredFieldsBody = ( - ~requiredFields: Js.Array2.t, + ~requiredFields: array, ~paymentMethodType, ~cardNumber, ~cardExpiry, @@ -422,7 +427,7 @@ let useRequiredFieldsBody = ( | AddressCountry(_) => { let countryCode = Country.getCountry(paymentMethodType) - ->Js.Array2.filter(item => item.countryName === country) + ->Array.filter(item => item.countryName === country) ->Belt.Array.get(0) ->Option.getOr(Country.defaultTimeZone) countryCode.isoAlpha2 @@ -449,7 +454,7 @@ let useRequiredFieldsBody = ( let addBillingDetailsIfUseBillingAddress = requiredFieldsBody => { if billingAddress.isUseBillingAddress { - billingAddressFields->Js.Array2.reduce((acc, item) => { + billingAddressFields->Array.reduce(requiredFieldsBody, (acc, item) => { let value = item->getFieldValueFromFieldType if item === BillingName { let arr = value->Js.String2.split(" ") @@ -466,7 +471,7 @@ let useRequiredFieldsBody = ( acc->Js.Dict.set(path, value->JSON.Encode.string) } acc - }, requiredFieldsBody) + }) } else { requiredFieldsBody } @@ -475,8 +480,8 @@ let useRequiredFieldsBody = ( React.useEffect1(() => { let requiredFieldsBody = requiredFields - ->Js.Array2.filter(item => item.field_type !== None) - ->Js.Array2.reduce((acc, item) => { + ->Array.filter(item => item.field_type !== None) + ->Array.reduce(Js.Dict.empty(), (acc, item) => { let value = switch item.field_type { | BillingName => getName(item, billingName) | FullName => getName(item, fullName) @@ -498,7 +503,7 @@ let useRequiredFieldsBody = ( acc->Js.Dict.set(item.required_field, value->JSON.Encode.string) } acc - }, Js.Dict.empty()) + }) ->addBillingDetailsIfUseBillingAddress setRequiredFieldsBody(_ => requiredFieldsBody) @@ -538,11 +543,10 @@ let isFieldTypeToRenderOutsideBilling = (fieldType: PaymentMethodsRecord.payment let combineStateAndCity = arr => { open PaymentMethodsRecord - let hasStateAndCity = - arr->Js.Array2.includes(AddressState) && arr->Js.Array2.includes(AddressCity) + let hasStateAndCity = arr->Array.includes(AddressState) && arr->Array.includes(AddressCity) if hasStateAndCity { - arr->Js.Array2.push(StateAndCity)->ignore - arr->Js.Array2.filter(item => + arr->Array.push(StateAndCity)->ignore + arr->Array.filter(item => switch item { | AddressCity | AddressState => false @@ -558,27 +562,27 @@ let combineCountryAndPostal = arr => { open PaymentMethodsRecord let hasCountryAndPostal = arr - ->Js.Array2.filter(item => + ->Array.filter(item => switch item { | AddressCountry(_) => true | AddressPincode => true | _ => false } ) - ->Js.Array2.length == 2 + ->Array.length == 2 - let options = arr->Js.Array2.reduce((acc, item) => { - acc->Js.Array2.concat( + let options = arr->Array.reduce([], (acc, item) => { + acc->Array.concat( switch item { | AddressCountry(val) => val | _ => [] }, ) - }, []) + }) if hasCountryAndPostal { - arr->Js.Array2.push(CountryAndPincode(options))->ignore - arr->Js.Array2.filter(item => + arr->Array.push(CountryAndPincode(options))->ignore + arr->Array.filter(item => switch item { | AddressPincode | AddressCountry(_) => false @@ -593,10 +597,10 @@ let combineCountryAndPostal = arr => { let combineCardExpiryMonthAndYear = arr => { open PaymentMethodsRecord let hasCardExpiryMonthAndYear = - arr->Js.Array2.includes(CardExpiryMonth) && arr->Js.Array2.includes(CardExpiryYear) + arr->Array.includes(CardExpiryMonth) && arr->Array.includes(CardExpiryYear) if hasCardExpiryMonthAndYear { - arr->Js.Array2.push(CardExpiryMonthAndYear)->ignore - arr->Js.Array2.filter(item => + arr->Array.push(CardExpiryMonthAndYear)->ignore + arr->Array.filter(item => switch item { | CardExpiryMonth | CardExpiryYear => false @@ -611,10 +615,10 @@ let combineCardExpiryMonthAndYear = arr => { let combineCardExpiryAndCvc = arr => { open PaymentMethodsRecord let hasCardExpiryAndCvc = - arr->Js.Array2.includes(CardExpiryMonthAndYear) && arr->Js.Array2.includes(CardCvc) + arr->Array.includes(CardExpiryMonthAndYear) && arr->Array.includes(CardCvc) if hasCardExpiryAndCvc { - arr->Js.Array2.push(CardExpiryAndCvc)->ignore - arr->Js.Array2.filter(item => + arr->Array.push(CardExpiryAndCvc)->ignore + arr->Array.filter(item => switch item { | CardExpiryMonthAndYear | CardCvc => false @@ -627,13 +631,13 @@ let combineCardExpiryAndCvc = arr => { } let updateDynamicFields = ( - arr: Js.Array2.t, + arr: array, billingAddress, (), ) => { arr ->Utils.removeDuplicate - ->Js.Array2.filter(item => item !== None) + ->Array.filter(item => item !== None) ->addBillingAddressIfUseBillingAddress(billingAddress) ->combineStateAndCity ->combineCountryAndPostal diff --git a/src/Utilities/ErrorUtils.res b/src/Utilities/ErrorUtils.res index 5ad8ba49..7ba94683 100644 --- a/src/Utilities/ErrorUtils.res +++ b/src/Utilities/ErrorUtils.res @@ -112,7 +112,7 @@ let manageErrorWarning = ( ~logger: OrcaLogger.loggerMake, (), ) => { - let entry = errorWarning->Js.Array2.find(((value, _, _)) => { + let entry = errorWarning->Array.find(((value, _, _)) => { value == key }) switch entry { @@ -166,8 +166,8 @@ let manageErrorWarning = ( let unknownKeysWarning = (validKeysArr, dict: Js.Dict.t, dictType: string, ~logger) => { dict ->Js.Dict.entries - ->Js.Array2.forEach(((key, _)) => { - if validKeysArr->Js.Array2.includes(key) { + ->Array.forEach(((key, _)) => { + if validKeysArr->Array.includes(key) { () } else { manageErrorWarning(UNKNOWN_KEY, ~dynamicStr=`'${key}' key in ${dictType}`, ~logger, ()) @@ -178,10 +178,10 @@ let unknownKeysWarning = (validKeysArr, dict: Js.Dict.t, dictType: strin let unknownPropValueWarning = (inValidValue, validValueArr, dictType) => { let expectedValues = validValueArr - ->Js.Array2.map(item => { + ->Array.map(item => { `'${item}'` }) - ->Js.Array2.joinWith(", ") + ->Array.joinWith(", ") manageErrorWarning( UNKNOWN_VALUE, ~dynamicStr=`'${inValidValue}' value in ${dictType}, Expected ${expectedValues}`, diff --git a/src/Utilities/PaymentBody.res b/src/Utilities/PaymentBody.res index 9314104a..4c1c32b6 100644 --- a/src/Utilities/PaymentBody.res +++ b/src/Utilities/PaymentBody.res @@ -15,7 +15,7 @@ let cardPaymentBody = (~cardNumber, ~month, ~year, ~cardHolderName, ~cvcNumber, ("card_cvc", cvcNumber->JSON.Encode.string), ("card_issuer", ""->JSON.Encode.string), ] - ->Js.Array2.concat(cardBrand) + ->Array.concat(cardBrand) ->Js.Dict.fromArray ->JSON.Encode.object, ), @@ -157,7 +157,7 @@ let achBankDebitBody = ( ->Js.Dict.fromArray ->JSON.Encode.object, ), - ]->Js.Array2.concat(mandateBody(paymentType)) + ]->Array.concat(mandateBody(paymentType)) let sepaBankDebitBody = ( ~fullName, diff --git a/src/Utilities/PaymentHelpers.res b/src/Utilities/PaymentHelpers.res index 1b615244..7f5afbfd 100644 --- a/src/Utilities/PaymentHelpers.res +++ b/src/Utilities/PaymentHelpers.res @@ -281,7 +281,7 @@ let rec intentCall = ( let qrData = intent.nextAction.image_data_url->Option.getOr("") let expiryTime = intent.nextAction.display_to_timestamp->Option.getOr(0.0) let headerObj = Js.Dict.empty() - headers->Js.Array2.forEach( + headers->Array.forEach( entries => { let (x, val) = entries Js.Dict.set(headerObj, x, val->JSON.Encode.string) @@ -315,7 +315,7 @@ let rec intentCall = ( reference: "", }) let headerObj = Js.Dict.empty() - headers->Js.Array2.forEach( + headers->Array.forEach( entries => { let (x, val) = entries Js.Dict.set(headerObj, x, val->JSON.Encode.string) @@ -543,11 +543,11 @@ let rec maskPayload = payloadDict => { let keys = payloadDict->Js.Dict.keys let maskedPayload = Js.Dict.empty() keys - ->Js.Array2.map(key => { + ->Array.map(key => { let value = payloadDict->Js.Dict.get(key)->Option.getOr(JSON.Encode.null) if value->JSON.Decode.array->Option.isSome { let arr = value->JSON.Decode.array->Option.getOr([]) - arr->Js.Array2.forEachi((element, index) => { + arr->Array.forEachWithIndex((element, index) => { maskedPayload->Js.Dict.set( key ++ "[" ++ index->Belt.Int.toString ++ "]", element->Utils.getDictFromJson->maskPayload->JSON.Encode.string, @@ -595,7 +595,7 @@ let usePaymentIntent = (optLogger: option, paymentType: p ? [("retry_action", "manual_retry"->JSON.Encode.string)] : [] let body = - [("client_secret", clientSecret->JSON.Encode.string)]->Js.Array2.concatMany([ + [("client_secret", clientSecret->JSON.Encode.string)]->Array.concatMany([ returnUrlArr, manual_retry, ]) @@ -620,7 +620,7 @@ let usePaymentIntent = (optLogger: option, paymentType: p ( "headers", headers - ->Js.Array2.map(header => { + ->Array.map(header => { let (key, value) = header (key, value->JSON.Encode.string) }) @@ -642,7 +642,7 @@ let usePaymentIntent = (optLogger: option, paymentType: p (), ) | _ => - let _ = bodyArr->Js.Array2.map(((str, json)) => { + let _ = bodyArr->Array.map(((str, json)) => { if str === "payment_method_type" { handleLogging( ~optLogger, @@ -683,7 +683,7 @@ let usePaymentIntent = (optLogger: option, paymentType: p let intentWithoutMandate = () => { let bodyStr = body - ->Js.Array2.concat(bodyArr->Js.Array2.concat(broswerInfo())) + ->Array.concat(bodyArr->Array.concat(broswerInfo())) ->Js.Dict.fromArray ->JSON.Encode.object ->JSON.stringify @@ -692,11 +692,8 @@ let usePaymentIntent = (optLogger: option, paymentType: p let intentWithMandate = mandatePaymentType => { let bodyStr = body - ->Js.Array2.concat( - bodyArr->Js.Array2.concatMany([ - PaymentBody.mandateBody(mandatePaymentType), - broswerInfo(), - ]), + ->Array.concat( + bodyArr->Array.concatMany([PaymentBody.mandateBody(mandatePaymentType), broswerInfo()]), ) ->Js.Dict.fromArray ->JSON.Encode.object diff --git a/src/Utilities/PaymentUtils.res b/src/Utilities/PaymentUtils.res index 7b251c26..b468851e 100644 --- a/src/Utilities/PaymentUtils.res +++ b/src/Utilities/PaymentUtils.res @@ -22,38 +22,38 @@ let paymentListLookupNew = ( "samsung_pay", ] let otherPaymentList = [] - let googlePayFields = pmList->Js.Array2.find(item => item.paymentMethodName === "google_pay") - let applePayFields = pmList->Js.Array2.find(item => item.paymentMethodName === "apple_pay") + let googlePayFields = pmList->Array.find(item => item.paymentMethodName === "google_pay") + let applePayFields = pmList->Array.find(item => item.paymentMethodName === "apple_pay") switch googlePayFields { | Some(val) => - if val.fields->Js.Array2.length > 0 && showGooglePay { - walletToBeDisplayedInTabs->Js.Array2.push("google_pay")->ignore + if val.fields->Array.length > 0 && showGooglePay { + walletToBeDisplayedInTabs->Array.push("google_pay")->ignore } | None => () } switch applePayFields { | Some(val) => - if val.fields->Js.Array2.length > 0 && showApplePay { - walletToBeDisplayedInTabs->Js.Array2.push("apple_pay")->ignore + if val.fields->Array.length > 0 && showApplePay { + walletToBeDisplayedInTabs->Array.push("apple_pay")->ignore } | None => () } - pmList->Js.Array2.forEach(item => { - if walletToBeDisplayedInTabs->Js.Array2.includes(item.paymentMethodName) { - otherPaymentList->Js.Array2.push(item.paymentMethodName)->ignore + pmList->Array.forEach(item => { + if walletToBeDisplayedInTabs->Array.includes(item.paymentMethodName) { + otherPaymentList->Array.push(item.paymentMethodName)->ignore } else if item.methodType == "wallet" { - walletsList->Js.Array2.push(item.paymentMethodName)->ignore + walletsList->Array.push(item.paymentMethodName)->ignore } else if item.methodType == "bank_debit" { - otherPaymentList->Js.Array2.push(item.paymentMethodName ++ "_debit")->ignore + otherPaymentList->Array.push(item.paymentMethodName ++ "_debit")->ignore } else if item.methodType == "bank_transfer" { - otherPaymentList->Js.Array2.push(item.paymentMethodName ++ "_transfer")->ignore + otherPaymentList->Array.push(item.paymentMethodName ++ "_transfer")->ignore } else if item.methodType == "card" { - otherPaymentList->Js.Array2.push("card")->ignore + otherPaymentList->Array.push("card")->ignore } else if item.methodType == "reward" { - otherPaymentList->Js.Array2.push(item.paymentMethodName)->ignore + otherPaymentList->Array.push(item.paymentMethodName)->ignore } else { - otherPaymentList->Js.Array2.push(item.paymentMethodName)->ignore + otherPaymentList->Array.push(item.paymentMethodName)->ignore } }) ( @@ -155,16 +155,16 @@ let getExperienceType = method => { let getConnectors = (list: PaymentMethodsRecord.list, method: connectorType) => { let paymentMethod = - list.payment_methods->Js.Array2.find(item => item.payment_method == method->getMethod) + list.payment_methods->Array.find(item => item.payment_method == method->getMethod) switch paymentMethod { | Some(val) => let paymentMethodType = - val.payment_method_types->Js.Array2.find(item => + val.payment_method_types->Array.find(item => item.payment_method_type == method->getMethodType ) switch paymentMethodType { | Some(val) => - let experienceType = val.payment_experience->Js.Array2.find(item => { + let experienceType = val.payment_experience->Array.find(item => { item.payment_experience_type->getPaymentExperienceType == method->getExperienceType }) let eligibleConnectors = switch experienceType { @@ -190,7 +190,7 @@ let getDisplayNameAndIcon = ( ) => { let customNameObj = customNames - ->Js.Array2.filter((item: PaymentType.alias) => { + ->Array.filter((item: PaymentType.alias) => { item.paymentMethodName === paymentMethodName }) ->Belt.Array.get(0) diff --git a/src/Utilities/Utils.res b/src/Utilities/Utils.res index 0da6b809..1a84a7dc 100644 --- a/src/Utilities/Utils.res +++ b/src/Utilities/Utils.res @@ -169,7 +169,7 @@ let getStrArray = (dict, key) => { let getOptionalStrArray: (Js.Dict.t, string) => option> = (dict, key) => { switch dict->getOptionalArrayFromDict(key) { | Some(val) => - val->Js.Array2.length === 0 + val->Array.length === 0 ? None : Some(val->Belt.Array.map(json => json->JSON.Decode.string->Option.getOr(""))) | None => None @@ -181,14 +181,14 @@ let getBoolValue = val => val->Option.getOr(false) let toKebabCase = str => { str ->Js.String2.split("") - ->Js.Array2.mapi((item, i) => { + ->Array.mapWithIndex((item, i) => { if item->Js.String2.toUpperCase === item { `${i != 0 ? "-" : ""}${item->Js.String2.toLowerCase}` } else { item } }) - ->Js.Array2.joinWith("") + ->Array.joinWith("") } let handleMessage = (fun, _errorMessage) => { @@ -225,7 +225,7 @@ let mergeJsons = (json1, json2) => { if obj1 != obj2 { obj2 ->Js.Dict.keys - ->Js.Array2.map(key => { + ->Array.map(key => { let overrideProp = obj2->getJsonObjectFromDict(key) let defaultProp = obj1->getJsonObjectFromDict(key) if defaultProp->getDictFromJson->Js.Dict.keys->Js.Array.length == 0 { @@ -295,14 +295,14 @@ let rec transformKeys = (json: JSON.t, to: case) => { let dict = json->getDictFromJson dict ->Js.Dict.entries - ->Js.Array2.map(((key, value)) => { + ->Array.map(((key, value)) => { let x = switch JSON.Classify.classify(value) { | Object(obj) => (key->toCase, obj->JSON.Encode.object->transformKeys(to)) | Array(arr) => ( key->toCase, { arr - ->Js.Array2.map(item => + ->Array.map(item => if item->JSON.Decode.object->Option.isSome { item->transformKeys(to) } else { @@ -333,13 +333,13 @@ let rec transformKeys = (json: JSON.t, to: case) => { let getClientCountry = clientTimeZone => { Country.country - ->Js.Array2.find(item => item.timeZones->Js.Array2.find(i => i == clientTimeZone)->Option.isSome) + ->Array.find(item => item.timeZones->Array.find(i => i == clientTimeZone)->Option.isSome) ->Option.getOr(Country.defaultTimeZone) } let removeDuplicate = arr => { - arr->Js.Array2.filteri((item, i) => { - arr->Js.Array2.indexOf(item) === i + arr->Array.filterWithIndex((item, i) => { + arr->Array.indexOf(item) === i }) } @@ -390,7 +390,7 @@ let validatePhoneNumber = (countryCode, number) => { ->Option.getOr([]) ->Belt.Array.keepMap(JSON.Decode.object) - let filteredArr = countriesArr->Js.Array2.filter(countryObj => { + let filteredArr = countriesArr->Array.filter(countryObj => { countryObj ->Js.Dict.get("phone_number_code") ->Option.flatMap(JSON.Decode.string) @@ -406,13 +406,13 @@ let validatePhoneNumber = (countryCode, number) => { } let sortBasedOnPriority = (sortArr: array, priorityArr: array) => { - let finalPriorityArr = priorityArr->Js.Array2.filter(val => sortArr->Js.Array2.includes(val)) + let finalPriorityArr = priorityArr->Array.filter(val => sortArr->Array.includes(val)) sortArr - ->Js.Array2.map(item => { - if finalPriorityArr->Js.Array2.includes(item) { + ->Array.map(item => { + if finalPriorityArr->Array.includes(item) { () } else { - finalPriorityArr->Js.Array2.push(item)->ignore + finalPriorityArr->Array.push(item)->ignore } }) ->ignore @@ -433,28 +433,28 @@ let isAllValid = ( let getCountryPostal = (countryCode, postalCodes: array) => { postalCodes - ->Js.Array2.find(item => item.iso == countryCode) + ->Array.find(item => item.iso == countryCode) ->Option.getOr(PostalCodeType.defaultPostalCode) } let getCountryNames = (list: array) => { - list->Js.Array2.reduce((arr, item) => { - arr->Js.Array2.push(item.countryName)->ignore + list->Array.reduce([], (arr, item) => { + arr->Array.push(item.countryName)->ignore arr - }, []) + }) } let getBankNames = (list: Bank.bankList, allBanks: array) => { - list->Js.Array2.reduce((arr, item) => { - if allBanks->Js.Array2.includes(item.hyperSwitch) { - arr->Js.Array2.push(item.displayName)->ignore + list->Array.reduce([], (arr, item) => { + if allBanks->Array.includes(item.hyperSwitch) { + arr->Array.push(item.displayName)->ignore } arr - }, []) + }) } let getBankKeys = (str, banks: Bank.bankList, default) => { - let bank = banks->Js.Array2.find(item => item.displayName == str)->Option.getOr(default) + let bank = banks->Array.find(item => item.displayName == str)->Option.getOr(default) bank.hyperSwitch } @@ -464,7 +464,7 @@ let constructClass = (~classname, ~dict) => { dict ->Js.Dict.entries - ->Js.Array2.map(entry => { + ->Array.map(entry => { let (key, value) = entry let class = if !(key->Js.String2.startsWith(":")) && !(key->Js.String2.startsWith(".")) { @@ -478,14 +478,14 @@ let constructClass = (~classname, ~dict) => { let style = obj ->Js.Dict.entries - ->Js.Array2.map(entry => { + ->Array.map(entry => { let (key, value) = entry switch value->JSON.Decode.string { | Some(str) => `${key->toKebabCase}:${str}` | None => "" } }) - `.${classname}${key} {${style->Js.Array2.joinWith(";")}}` + `.${classname}${key} {${style->Array.joinWith(";")}}` | None => "" } @@ -495,14 +495,14 @@ let constructClass = (~classname, ~dict) => { let style = obj ->Js.Dict.entries - ->Js.Array2.map(entry => { + ->Array.map(entry => { let (key, value) = entry switch value->JSON.Decode.string { | Some(str) => `${key->toKebabCase}:${str}` | None => "" } }) - `${key} {${style->Js.Array2.joinWith(";")}} ` + `${key} {${style->Array.joinWith(";")}} ` | None => "" } @@ -511,17 +511,17 @@ let constructClass = (~classname, ~dict) => { } if !(key->Js.String2.startsWith(":")) && !(key->Js.String2.startsWith(".")) { - modifiedArr->Js.Array2.push(class)->ignore + modifiedArr->Array.push(class)->ignore } else if key->Js.String2.startsWith(":") || key->Js.String2.startsWith(".") { - puseduoArr->Js.Array2.push(class)->ignore + puseduoArr->Array.push(class)->ignore } }) ->ignore if classname->Js.String2.length == 0 { - `${modifiedArr->Js.Array2.joinWith(";")} ${puseduoArr->Js.Array2.joinWith(" ")}` + `${modifiedArr->Array.joinWith(";")} ${puseduoArr->Array.joinWith(" ")}` } else { - `.${classname} {${modifiedArr->Js.Array2.joinWith(";")}} ${puseduoArr->Js.Array2.joinWith(" ")}` + `.${classname} {${modifiedArr->Array.joinWith(";")}} ${puseduoArr->Array.joinWith(" ")}` } } @@ -546,16 +546,16 @@ let openUrl = url => { } let getArrofJsonString = (arr: array) => { - arr->Js.Array2.map(item => item->JSON.Encode.string) + arr->Array.map(item => item->JSON.Encode.string) } let getPaymentDetails = (arr: array) => { let finalArr = [] arr - ->Js.Array2.map(item => { - let optionalVal = PaymentDetails.details->Js.Array2.find(i => i.type_ == item) + ->Array.map(item => { + let optionalVal = PaymentDetails.details->Array.find(i => i.type_ == item) switch optionalVal { - | Some(val) => finalArr->Js.Array2.push(val)->ignore + | Some(val) => finalArr->Array.push(val)->ignore | None => () } }) @@ -587,8 +587,8 @@ let addSize = (str: string, value: float, unit: sizeunit) => { let arr = str->Js.String2.split("") let val = arr - ->Js.Array2.slice(~start=0, ~end_={arr->Js.Array2.length - unitInString->Js.String2.length}) - ->Js.Array2.joinWith("") + ->Js.Array2.slice(~start=0, ~end_={arr->Array.length - unitInString->Js.String2.length}) + ->Array.joinWith("") ->Belt.Float.fromString ->Option.getOr(0.0) (val +. value)->Belt.Float.toString ++ unitInString @@ -607,10 +607,10 @@ let validateRountingNumber = str => { let sum = str ->Js.String2.split("") - ->Js.Array2.mapi((item, i) => item->toInt * weights[i]->Option.getOr(firstWeight)) - ->Js.Array2.reduce((acc, val) => { + ->Array.mapWithIndex((item, i) => item->toInt * weights[i]->Option.getOr(firstWeight)) + ->Array.reduce(0, (acc, val) => { acc + val - }, 0) + }) mod(sum, 10) == 0 } } @@ -641,7 +641,7 @@ let onlyDigits = str => str->Js.String2.replaceByRe(%re(`/\D/g`), "") let getCountryCode = country => { Country.country - ->Js.Array2.find(item => item.countryName == country) + ->Array.find(item => item.countryName == country) ->Option.getOr(Country.defaultTimeZone) } @@ -652,9 +652,9 @@ let getStateNames = (list: JSON.t, country: RecoilAtomTypes.field) => { ->getOptionalArrayFromDict(getCountryCode(country.value).isoAlpha2) ->Option.getOr([]) - options->Js.Array2.reduce((arr, item) => { + options->Array.reduce([], (arr, item) => { arr - ->Js.Array2.push( + ->Array.push( item ->getDictFromJson ->Js.Dict.get("name") @@ -663,7 +663,7 @@ let getStateNames = (list: JSON.t, country: RecoilAtomTypes.field) => { ) ->ignore arr - }, []) + }) } let isAddressComplete = ( @@ -683,7 +683,7 @@ let deepCopyDict = dict => { let emptyDict = Js.Dict.empty() dict ->Js.Dict.entries - ->Js.Array2.map(item => { + ->Array.map(item => { let (key, value) = item emptyDict->Js.Dict.set(key, value) }) @@ -694,10 +694,10 @@ let deepCopyDict = dict => { let snakeToTitleCase = str => { let words = str->Js.String2.split("_") words - ->Js.Array2.map(item => { + ->Array.map(item => { item->Js.String2.charAt(0)->Js.String2.toUpperCase ++ item->Js.String2.sliceToEnd(~from=1) }) - ->Js.Array2.joinWith(" ") + ->Array.joinWith(" ") } let logInfo = log => { @@ -743,7 +743,7 @@ let rgbaTorgb = bgColor => { let colorArr = cleanBgColor->Js.String2.substring(~from=start + 1, ~to_=end)->Js.String2.split(",") - if colorArr->Js.Array2.length === 3 { + if colorArr->Array.length === 3 { cleanBgColor } else { let red = colorArr->Belt.Array.get(0)->Option.getOr("0") @@ -772,7 +772,7 @@ let getHeaders = (~uri=?, ~token=?, ~headers=Js.Dict.empty(), ()) => { | _ => () } - Js.Dict.entries(headers)->Js.Array2.forEach(entries => { + Js.Dict.entries(headers)->Array.forEach(entries => { let (x, val) = entries Js.Dict.set(headerObj, x, val) }) @@ -806,7 +806,7 @@ let fetchApi = ( } let arrayJsonToCamelCase = arr => { - arr->Js.Array2.map(item => { + arr->Array.map(item => { item->transformKeys(CamelCase) }) } diff --git a/src/orca-loader/Elements.res b/src/orca-loader/Elements.res index e624edd3..2f66c560 100644 --- a/src/orca-loader/Elements.res +++ b/src/orca-loader/Elements.res @@ -99,8 +99,8 @@ let make = ( if isApplePayPresent || isGooglePayPresent { if ( - Window.querySelectorAll(`script[src="https://tpgw.trustpay.eu/js/v1.js"]`)->Js.Array2.length === 0 && - Window.querySelectorAll(`script[src="https://test-tpgw.trustpay.eu/js/v1.js"]`)->Js.Array2.length === 0 + Window.querySelectorAll(`script[src="https://tpgw.trustpay.eu/js/v1.js"]`)->Array.length === 0 && + Window.querySelectorAll(`script[src="https://test-tpgw.trustpay.eu/js/v1.js"]`)->Array.length === 0 ) { let trustPayScriptURL = publishableKey->Js.String2.startsWith("pk_prd_") @@ -165,7 +165,7 @@ let make = ( : () let setElementIframeRef = ref => { - iframeRef->Js.Array2.push(ref)->ignore + iframeRef->Array.push(ref)->ignore setIframeRef(ref) } let getElement = componentName => { @@ -186,7 +186,7 @@ let make = ( | None => () } - iframeRef->Js.Array2.forEach(iframe => { + iframeRef->Array.forEach(iframe => { let message = [ ("ElementsUpdate", true->JSON.Encode.bool), @@ -370,7 +370,7 @@ let make = ( ->Option.getOr(Js.Dict.empty()) ->SessionsType.getSessionsTokenJson("session_token") - let applePayPresent = sessionsArr->Js.Array2.find(item => { + let applePayPresent = sessionsArr->Array.find(item => { let x = item ->JSON.Decode.object @@ -387,7 +387,7 @@ let make = ( let msg = [("applePaySessionObjNotPresent", true->JSON.Encode.bool)]->Js.Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) } - let googlePayPresent = sessionsArr->Js.Array2.find(item => { + let googlePayPresent = sessionsArr->Array.find(item => { let x = item ->JSON.Decode.object diff --git a/src/orca-loader/Hyper.res b/src/orca-loader/Hyper.res index 25241067..58cb2df6 100644 --- a/src/orca-loader/Hyper.res +++ b/src/orca-loader/Hyper.res @@ -13,7 +13,7 @@ let checkAndAppend = (selector, child) => { } if ( - Window.querySelectorAll(`script[src="${GlobalVars.sentryScriptUrl}"]`)->Js.Array2.length === 0 && + Window.querySelectorAll(`script[src="${GlobalVars.sentryScriptUrl}"]`)->Array.length === 0 && Js.typeof(GlobalVars.sentryScriptUrl) !== "undefined" ) { try { @@ -146,7 +146,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Array2.length === 0 + Window.querySelectorAll(`script[src="https://applepay.cdn-apple.com/jsapi/v1/apple-pay-sdk.js"]`)->Array.length === 0 ) { let scriptURL = "https://applepay.cdn-apple.com/jsapi/v1/apple-pay-sdk.js" let script = Window.createElement("script") @@ -160,7 +160,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionSentry.sentryLogger if ( - Window.querySelectorAll(`script[src="https://pay.google.com/gp/p/js/pay.js"]`)->Js.Array2.length === 0 + Window.querySelectorAll(`script[src="https://pay.google.com/gp/p/js/pay.js"]`)->Array.length === 0 ) { let googlePayScriptURL = "https://pay.google.com/gp/p/js/pay.js" let googlePayScript = Window.createElement("script") @@ -175,7 +175,7 @@ let make = (publishableKey, options: option, analyticsInfo: option { - iframeRef.contents->Js.Array2.push(ref)->ignore + iframeRef.contents->Array.push(ref)->ignore } let retrievePaymentIntentFn = clientSecret => { @@ -281,7 +281,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Dict.get("url")->Option.flatMap(JSON.Decode.string)->Option.getOr(url) if isOneClick { - iframeRef.contents->Js.Array2.forEach(ifR => { + iframeRef.contents->Array.forEach(ifR => { // to unset one click button loader ifR->Window.iframePostMessage( [("oneClickDoSubmit", false->JSON.Encode.bool)]->Js.Dict.fromArray, @@ -315,7 +315,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Dict.fromArray addSmartEventListener("message", handleMessage, "onSubmit") - iframeRef.contents->Js.Array2.forEach(ifR => { + iframeRef.contents->Array.forEach(ifR => { ifR->Window.iframePostMessage(message) }) }) @@ -364,7 +364,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionOption.flatMap(JSON.Decode.object)->Option.getOr(Js.Dict.empty()) Js.Promise.make((~resolve, ~reject as _) => { iframeRef.contents - ->Js.Array2.map(iframe => { + ->Array.map(iframe => { iframe->Window.iframePostMessage( [ ("doSubmit", true->JSON.Encode.bool), diff --git a/src/orca-loader/LoaderPaymentElement.res b/src/orca-loader/LoaderPaymentElement.res index 9cab3bff..27f25091 100644 --- a/src/orca-loader/LoaderPaymentElement.res +++ b/src/orca-loader/LoaderPaymentElement.res @@ -85,21 +85,21 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = } let collapse = () => () let blur = () => { - iframeRef->Js.Array2.forEach(iframe => { + iframeRef->Array.forEach(iframe => { let message = [("doBlur", true->JSON.Encode.bool)]->Js.Dict.fromArray iframe->Window.iframePostMessage(message) }) } let focus = () => { - iframeRef->Js.Array2.forEach(iframe => { + iframeRef->Array.forEach(iframe => { let message = [("doFocus", true->JSON.Encode.bool)]->Js.Dict.fromArray iframe->Window.iframePostMessage(message) }) } let clear = () => { - iframeRef->Js.Array2.forEach(iframe => { + iframeRef->Array.forEach(iframe => { let message = [("doClearValues", true->JSON.Encode.bool)]->Js.Dict.fromArray iframe->Window.iframePostMessage(message) }) @@ -128,7 +128,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let newFlatOption = newOptions->flattenObject(true) let keys = flatOption->Js.Dict.keys - keys->Js.Array2.forEach(key => { + keys->Array.forEach(key => { switch newFlatOption->Js.Dict.get(key) { | Some(op) => flatOption->Js.Dict.set(key, op) | None => () @@ -136,14 +136,14 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = }) let newEntries = newFlatOption->Js.Dict.entries - newEntries->Js.Array2.forEach(entries => { + newEntries->Array.forEach(entries => { let (key, value) = entries if flatOption->Js.Dict.get(key)->Option.isNone { flatOption->Js.Dict.set(key, value) } }) - iframeRef->Js.Array2.forEach(iframe => { + iframeRef->Array.forEach(iframe => { let message = [ ("paymentElementsUpdate", true->JSON.Encode.bool), diff --git a/src/orca-loader/OrcaUtils.res b/src/orca-loader/OrcaUtils.res index 22910352..2c50b7a5 100644 --- a/src/orca-loader/OrcaUtils.res +++ b/src/orca-loader/OrcaUtils.res @@ -18,7 +18,7 @@ let rec flattenObject = (obj, addIndicatorForObject) => { | Some(obj) => obj ->Js.Dict.entries - ->Js.Array2.forEach(entry => { + ->Array.forEach(entry => { let (key, value) = entry if value->toNullable->Js.Nullable.isNullable { @@ -34,7 +34,7 @@ let rec flattenObject = (obj, addIndicatorForObject) => { flattenedSubObj ->Js.Dict.entries - ->Js.Array2.forEach(subEntry => { + ->Array.forEach(subEntry => { let (subKey, subValue) = subEntry Js.Dict.set(newDict, `${key}.${subKey}`, subValue) }) @@ -55,7 +55,7 @@ let rec flattenObjectWithStringifiedJson = (obj, addIndicatorForObject, keepPare | Some(obj) => obj ->Js.Dict.entries - ->Js.Array2.forEach(entry => { + ->Array.forEach(entry => { let (key, value) = entry if value->toNullable->Js.Nullable.isNullable { @@ -75,7 +75,7 @@ let rec flattenObjectWithStringifiedJson = (obj, addIndicatorForObject, keepPare flattenedSubObj ->Js.Dict.entries - ->Js.Array2.forEach(subEntry => { + ->Array.forEach(subEntry => { let (subKey, subValue) = subEntry let keyN = keepParent ? `${key}.${subKey}` : subKey Js.Dict.set(newDict, keyN, subValue) @@ -96,7 +96,7 @@ let rec flatten = (obj, addIndicatorForObject) => { | Object(obj) => obj ->Js.Dict.entries - ->Js.Array2.forEach(entry => { + ->Array.forEach(entry => { let (key, value) = entry if value->toNullable->Js.Nullable.isNullable { @@ -112,7 +112,7 @@ let rec flatten = (obj, addIndicatorForObject) => { flattenedSubObj ->Js.Dict.entries - ->Js.Array2.forEach(subEntry => { + ->Array.forEach(subEntry => { let (subKey, subValue) = subEntry Js.Dict.set(newDict, `${key}.${subKey}`, subValue) }) @@ -121,15 +121,15 @@ let rec flatten = (obj, addIndicatorForObject) => { | Array(dictArray) => { let stringArray = [] let arrayArray = [] - dictArray->Js.Array2.forEachi((item, index) => { + dictArray->Array.forEachWithIndex((item, index) => { switch item->JSON.Classify.classify { | String(_str) => - let _ = stringArray->Js.Array2.push(item) + let _ = stringArray->Array.push(item) | Object(_obj) => { let flattenedSubObj = flatten(item, addIndicatorForObject) flattenedSubObj ->Js.Dict.entries - ->Js.Array2.forEach( + ->Array.forEach( subEntry => { let (subKey, subValue) = subEntry Js.Dict.set(newDict, `${key}[${index->string_of_int}].${subKey}`, subValue) @@ -138,13 +138,13 @@ let rec flatten = (obj, addIndicatorForObject) => { } | _ => - let _ = arrayArray->Js.Array2.push(item) + let _ = arrayArray->Array.push(item) } }) - if stringArray->Js.Array2.length > 0 { + if stringArray->Array.length > 0 { Js.Dict.set(newDict, key, stringArray->JSON.Encode.array) } - if arrayArray->Js.Array2.length > 0 { + if arrayArray->Array.length > 0 { Js.Dict.set(newDict, key, arrayArray->JSON.Encode.array) } } @@ -189,7 +189,7 @@ let unflattenObject = obj => { | Some(dict) => dict ->Js.Dict.entries - ->Js.Array2.forEach(entry => { + ->Array.forEach(entry => { let (key, value) = entry setNested(newDict, key->Js.String2.split("."), value) }) @@ -315,7 +315,7 @@ let getThemePromise = dict => { let mergeTwoFlattenedJsonDicts = (dict1, dict2) => { dict1 ->Js.Dict.entries - ->Js.Array2.concat(dict2->Js.Dict.entries) + ->Array.concat(dict2->Js.Dict.entries) ->Js.Dict.fromArray ->JSON.Encode.object ->unflattenObject diff --git a/src/orca-log-catcher/ErrorBoundary.res b/src/orca-log-catcher/ErrorBoundary.res index 1a4f2d02..d6daa4b1 100644 --- a/src/orca-log-catcher/ErrorBoundary.res +++ b/src/orca-log-catcher/ErrorBoundary.res @@ -97,9 +97,8 @@ module ErrorCard = { @react.component let make = (~error: Sentry.ErrorBoundary.fallbackArg, ~level) => { let beaconApiCall = data => { - if data->Js.Array2.length > 0 { - let logData = - data->Js.Array2.map(OrcaLogger.logFileToObj)->JSON.Encode.array->JSON.stringify + if data->Array.length > 0 { + let logData = data->Array.map(OrcaLogger.logFileToObj)->JSON.Encode.array->JSON.stringify Window.sendBeacon(GlobalVars.logEndpoint, logData) } } @@ -107,7 +106,7 @@ module ErrorCard = { React.useEffect0(() => { let loggingLevel = GlobalVars.loggingLevelStr let enableLogging = GlobalVars.enableLogging - if enableLogging && ["DEBUG", "INFO", "WARN", "ERROR"]->Js.Array2.includes(loggingLevel) { + if enableLogging && ["DEBUG", "INFO", "WARN", "ERROR"]->Array.includes(loggingLevel) { let errorLog: OrcaLogger.logFile = { logType: ERROR, timestamp: Js.Date.now()->Belt.Float.toString, @@ -143,7 +142,7 @@ module ErrorCard = { let observer = ResizeObserver.newResizerObserver(entries => { entries - ->Js.Array2.map(item => { + ->Array.map(item => { setDivH(_ => item.contentRect.height) }) ->ignore diff --git a/src/orca-log-catcher/OrcaLogger.res b/src/orca-log-catcher/OrcaLogger.res index 42b9feb3..e718ac7e 100644 --- a/src/orca-log-catcher/OrcaLogger.res +++ b/src/orca-log-catcher/OrcaLogger.res @@ -448,25 +448,22 @@ let make = ( let counter = eventName->calculateAndUpdateCounterHook if GlobalVars.enableLogging && counter <= maxLogsPushedPerEventName { switch loggingLevel { - | DEBUG => log->Js.Array2.push(mainLogFile, _)->ignore + | DEBUG => log->Array.push(mainLogFile, _)->ignore | INFO => - [INFO, WARNING, ERROR]->Js.Array2.includes(log.logType) - ? log->Js.Array2.push(mainLogFile, _)->ignore + [INFO, WARNING, ERROR]->Array.includes(log.logType) + ? log->Array.push(mainLogFile, _)->ignore : () | WARNING => - [WARNING, ERROR]->Js.Array2.includes(log.logType) - ? log->Js.Array2.push(mainLogFile, _)->ignore - : () - | ERROR => - [ERROR]->Js.Array2.includes(log.logType) ? log->Js.Array2.push(mainLogFile, _)->ignore : () + [WARNING, ERROR]->Array.includes(log.logType) ? log->Array.push(mainLogFile, _)->ignore : () + | ERROR => [ERROR]->Array.includes(log.logType) ? log->Array.push(mainLogFile, _)->ignore : () | SILENT => () } } } let beaconApiCall = data => { - if data->Js.Array2.length > 0 { - let logData = data->Js.Array2.map(logFileToObj)->JSON.Encode.array->JSON.stringify + if data->Array.length > 0 { + let logData = data->Array.map(logFileToObj)->JSON.Encode.array->JSON.stringify Window.sendBeacon(GlobalVars.logEndpoint, logData) } } @@ -485,9 +482,9 @@ let make = ( | None => timeOut := Some(Js.Global.setTimeout(() => sendLogs(), 120000)) } beaconApiCall(mainLogFile) - let len = mainLogFile->Js.Array2.length + let len = mainLogFile->Array.length for _ in 0 to len - 1 { - mainLogFile->Js.Array2.pop->ignore + mainLogFile->Array.pop->ignore } } @@ -505,11 +502,11 @@ let make = ( SESSIONS_CALL, ] arrayOfLogs - ->Js.Array2.find(log => { - [ERROR, DEBUG]->Js.Array2.includes(log.logType) || - (priorityEventNames->Js.Array2.includes(log.eventName) && log.firstEvent) + ->Array.find(log => { + [ERROR, DEBUG]->Array.includes(log.logType) || + (priorityEventNames->Array.includes(log.eventName) && log.firstEvent) }) - ->Option.isSome || arrayOfLogs->Js.Array2.length > 8 + ->Option.isSome || arrayOfLogs->Array.length > 8 } let checkLogSizeAndSendData = () => { From ae7bf1673d79e6b67be6636024a9268af6b1a7ef Mon Sep 17 00:00:00 2001 From: Pritish Budhiraja <1805317@kiit.ac.in> Date: Thu, 7 Mar 2024 12:41:33 +0530 Subject: [PATCH 05/17] refactor: array join & slice changes --- src/CardUtils.res | 2 +- src/Components/AccordionContainer.res | 4 ++-- src/Components/InputField.res | 2 +- src/Hooks/OutsideClick.res | 2 +- src/PaymentElement.res | 4 ++-- src/SingleLineCardPayment.res | 2 +- src/Utilities/Utils.res | 4 ++-- src/orca-loader/OrcaUtils.res | 4 ++-- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/CardUtils.res b/src/CardUtils.res index 47d7ce36..29d1fa1b 100644 --- a/src/CardUtils.res +++ b/src/CardUtils.res @@ -285,7 +285,7 @@ let getCardBrand = cardNumber => { let calculateLuhn = value => { let card = value->clearSpaces - let splitArr = card->Js.String2.split("")->Js.Array2.reverseInPlace + let splitArr = card->Js.String2.split("")->Array.toReversed let unCheckArr = splitArr->Array.filterWithIndex((_, i) => { mod(i, 2) == 0 }) diff --git a/src/Components/AccordionContainer.res b/src/Components/AccordionContainer.res index a18cdcad..be8ef724 100644 --- a/src/Components/AccordionContainer.res +++ b/src/Components/AccordionContainer.res @@ -70,11 +70,11 @@ let make = (~paymentOptions: array, ~checkoutEle: React.element) => { let cardOptionDetails = paymentOptions ->PaymentMethodsRecord.getPaymentDetails - ->Js.Array2.slice(~start=0, ~end_=layoutClass.maxAccordionItems) + ->Array.slice(~start=0, ~end=layoutClass.maxAccordionItems) let dropDownOptionsDetails = paymentOptions ->PaymentMethodsRecord.getPaymentDetails - ->Js.Array2.sliceFrom(layoutClass.maxAccordionItems) + ->Array.sliceToEnd(~start=layoutClass.maxAccordionItems) let getBorderRadiusStyleForCardOptionDetails = index => { if ( diff --git a/src/Components/InputField.res b/src/Components/InputField.res index ea5da38b..ac121c7d 100644 --- a/src/Components/InputField.res +++ b/src/Components/InputField.res @@ -103,7 +103,7 @@ let make = ( (isCardDetailsEmpty, isCardDetailsValid, isCardDetailsInvalid, isCardDetailsFocused) }, (isValid, setIsValid, value, onChange, onBlur)) - let concatString = Js.Array.joinWith("", [cardEmpty, cardComplete, cardInvalid, cardFocused]) + let concatString = Array.joinWith([cardEmpty, cardComplete, cardInvalid, cardFocused], "") React.useEffect5(() => { Utils.handlePostMessage([ diff --git a/src/Hooks/OutsideClick.res b/src/Hooks/OutsideClick.res index 7229e8c2..fa9d4aff 100644 --- a/src/Hooks/OutsideClick.res +++ b/src/Hooks/OutsideClick.res @@ -41,7 +41,7 @@ let useOutsideClick = ( }) | RefArray(refs) => refs.current - ->Js.Array2.slice(~start=0, ~end_=-1) + ->Array.slice(~start=0, ~end=-1) ->Array.reduce(false, (acc, ref: Js.Nullable.t) => { let isClickInsideRef = switch ffToWebDom(ref)->Js.Nullable.toOption { | Some(element) => element->Webapi.Dom.Element.contains(~child=ffToDomType(targ)) diff --git a/src/PaymentElement.res b/src/PaymentElement.res index 69aea0fd..71cd63cc 100644 --- a/src/PaymentElement.res +++ b/src/PaymentElement.res @@ -109,8 +109,8 @@ let make = ( }, [sessionsObj]) React.useEffect2(() => { let cardsCount: int = cardsToRender(cardsContainerWidth) - let cardOpts = Js.Array.slice(~start=0, ~end_=cardsCount, paymentOptions) - let dropOpts = Js.Array.sliceFrom(cardsCount, paymentOptions) + let cardOpts = Array.slice(~start=0, ~end=cardsCount, paymentOptions) + let dropOpts = paymentOptions->Array.sliceToEnd(~start=cardsCount) let isCard: bool = cardOpts->Array.includes(selectedOption) if !isCard && selectedOption !== "" && paymentOptions->Array.includes(selectedOption) { let (cardArr, dropdownArr) = CardUtils.swapCardOption(cardOpts, dropOpts, selectedOption) diff --git a/src/SingleLineCardPayment.res b/src/SingleLineCardPayment.res index cec80b60..6fe03634 100644 --- a/src/SingleLineCardPayment.res +++ b/src/SingleLineCardPayment.res @@ -101,7 +101,7 @@ let make = ( (isCardDetailsEmpty, isCardDetailsValid, isCardDetailsInvalid, isCardDetailsFocused) }, (cardProps, expiryProps, cvcProps, zipProps)) - let concatString = Js.Array.joinWith("", [cardEmpty, cardComplete, cardInvalid, cardFocused]) + let concatString = Array.joinWith([cardEmpty, cardComplete, cardInvalid, cardFocused], "") React.useEffect1(() => { Utils.handlePostMessage([ diff --git a/src/Utilities/Utils.res b/src/Utilities/Utils.res index 1a84a7dc..98c02d42 100644 --- a/src/Utilities/Utils.res +++ b/src/Utilities/Utils.res @@ -228,7 +228,7 @@ let mergeJsons = (json1, json2) => { ->Array.map(key => { let overrideProp = obj2->getJsonObjectFromDict(key) let defaultProp = obj1->getJsonObjectFromDict(key) - if defaultProp->getDictFromJson->Js.Dict.keys->Js.Array.length == 0 { + if defaultProp->getDictFromJson->Js.Dict.keys->Array.length == 0 { obj1->Js.Dict.set(key, overrideProp) } else if ( overrideProp->JSON.Decode.object->Option.isSome && @@ -587,7 +587,7 @@ let addSize = (str: string, value: float, unit: sizeunit) => { let arr = str->Js.String2.split("") let val = arr - ->Js.Array2.slice(~start=0, ~end_={arr->Array.length - unitInString->Js.String2.length}) + ->Array.slice(~start=0, ~end={arr->Array.length - unitInString->Js.String2.length}) ->Array.joinWith("") ->Belt.Float.fromString ->Option.getOr(0.0) diff --git a/src/orca-loader/OrcaUtils.res b/src/orca-loader/OrcaUtils.res index 2c50b7a5..a9a1bfd0 100644 --- a/src/orca-loader/OrcaUtils.res +++ b/src/orca-loader/OrcaUtils.res @@ -161,7 +161,7 @@ let rec flatten = (obj, addIndicatorForObject) => { let rec setNested = (dict, keys, value) => { switch keys[0] { | Some(firstKey) => - if keys->Js.Array.length === 1 { + if keys->Array.length === 1 { Js.Dict.set(dict, firstKey, value) } else { let subDict = switch Js.Dict.get(dict, firstKey) { @@ -175,7 +175,7 @@ let rec setNested = (dict, keys, value) => { dict->Dict.set(firstKey, subDict->JSON.Encode.object) subDict } - let remainingKeys = keys->Js.Array2.sliceFrom(1) + let remainingKeys = keys->Array.sliceToEnd(~start=1) setNested(subDict, remainingKeys, value) } | None => () From 7109f74d61b220ea02943deac5ece9cf95ef35cf Mon Sep 17 00:00:00 2001 From: Pritish Budhiraja <1805317@kiit.ac.in> Date: Thu, 7 Mar 2024 13:00:09 +0530 Subject: [PATCH 06/17] refactor: global removed --- src/App.res | 2 +- src/Components/Modal.res | 4 ++-- src/Hooks/OutsideClick.res | 2 +- src/PaymentOptions.res | 6 +++--- src/Payments/QRCodeDisplay.res | 4 ++-- src/Utilities/Utils.res | 2 +- src/orca-loader/Elements.res | 8 ++++---- src/orca-loader/Types.res | 2 +- src/orca-log-catcher/OrcaLogger.res | 14 +++++++------- 9 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/App.res b/src/App.res index 998045ae..4dbab81a 100644 --- a/src/App.res +++ b/src/App.res @@ -31,7 +31,7 @@ let make = () => { let sessionId = CardUtils.getQueryParamsDictforKey(url.search, "sessionId") let publishableKey = CardUtils.getQueryParamsDictforKey(url.search, "publishableKey") let endpoint = - CardUtils.getQueryParamsDictforKey(url.search, "endpoint")->Js.Global.decodeURIComponent + CardUtils.getQueryParamsDictforKey(url.search, "endpoint")->decodeURIComponent } | "achBankTransfer" diff --git a/src/Components/Modal.res b/src/Components/Modal.res index eb5ef0e5..149594b9 100644 --- a/src/Components/Modal.res +++ b/src/Components/Modal.res @@ -1,6 +1,6 @@ let close = setOpenModal => { setOpenModal(_ => false) - Js.Global.setTimeout(() => { + setTimeout(() => { Utils.handlePostMessage([("fullscreen", false->JSON.Encode.bool)]) }, 450)->ignore } @@ -18,7 +18,7 @@ let make = ( let {themeObj} = Recoil.useRecoilValueFromAtom(RecoilAtoms.configAtom) let closeModal = () => { setOpenModal(_ => false) - Js.Global.setTimeout(() => { + setTimeout(() => { switch closeCallback { | Some(fn) => fn() | None => () diff --git a/src/Hooks/OutsideClick.res b/src/Hooks/OutsideClick.res index fa9d4aff..0bf1f737 100644 --- a/src/Hooks/OutsideClick.res +++ b/src/Hooks/OutsideClick.res @@ -65,7 +65,7 @@ let useOutsideClick = ( } } - Js.Global.setTimeout(() => { + setTimeout(() => { events->Array.forEach( event => { Webapi.Dom.window->Webapi.Dom.Window.addEventListener(event, handleClick) diff --git a/src/PaymentOptions.res b/src/PaymentOptions.res index 8112801c..3ecfe7a6 100644 --- a/src/PaymentOptions.res +++ b/src/PaymentOptions.res @@ -82,12 +82,12 @@ let make = ( ->Option.getOr(PaymentMethodsRecord.defaultPaymentMethodFields) React.useEffect1(() => { - let intervalId = Js.Global.setInterval(() => { + let intervalId = setInterval(() => { if dropDownOptionsDetails->Belt.Array.length > 1 { setMoreIconIndex(prev => mod(prev + 1, dropDownOptionsDetails->Belt.Array.length)) setToggleIconElement(_ => true) - Js.Global.setTimeout( + setTimeout( () => { setToggleIconElement(_ => false) }, @@ -98,7 +98,7 @@ let make = ( Some( () => { - Js.Global.clearInterval(intervalId) + clearInterval(intervalId) }, ) }, [dropDownOptionsDetails]) diff --git a/src/Payments/QRCodeDisplay.res b/src/Payments/QRCodeDisplay.res index c208aa41..7f854f1d 100644 --- a/src/Payments/QRCodeDisplay.res +++ b/src/Payments/QRCodeDisplay.res @@ -72,12 +72,12 @@ let make = () => { if expiryTime < 1000.0 { Modal.close(setOpenModal) } - let intervalID = Js.Global.setInterval(() => { + let intervalID = setInterval(() => { setExpiryTime(prev => prev -. 1000.0) }, 1000) Some( () => { - Js.Global.clearInterval(intervalID) + clearInterval(intervalID) }, ) }, [expiryTime]) diff --git a/src/Utilities/Utils.res b/src/Utilities/Utils.res index 98c02d42..416f461f 100644 --- a/src/Utilities/Utils.res +++ b/src/Utilities/Utils.res @@ -758,7 +758,7 @@ let rgbaTorgb = bgColor => { let delay = timeOut => { Promise.make((resolve, _reject) => { - Js.Global.setTimeout(() => { + setTimeout(() => { resolve(. Js.Dict.empty()) }, timeOut)->ignore }) diff --git a/src/orca-loader/Elements.res b/src/orca-loader/Elements.res index 2f66c560..1f59bf8c 100644 --- a/src/orca-loader/Elements.res +++ b/src/orca-loader/Elements.res @@ -116,7 +116,7 @@ let make = ( } } - // Js.Global.setTimeout(() => { + // setTimeout(() => { let msg = [("paymentMethodList", json)]->Js.Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) let maskedPayload = json->getDictFromJson->PaymentHelpers.maskPayload @@ -137,7 +137,7 @@ let make = ( open Promise customerDetailsPromise ->then(json => { - // Js.Global.setTimeout(() => { + // setTimeout(() => { let msg = [("customerPaymentMethods", json)]->Js.Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) // }, 5000)->ignore @@ -197,7 +197,7 @@ let make = ( } let fetchUpdates = () => { Js.Promise.make((~resolve, ~reject as _) => { - Js.Global.setTimeout(() => resolve(. Js.Dict.empty()->JSON.Encode.object), 1000)->ignore + setTimeout(() => resolve(. Js.Dict.empty()->JSON.Encode.object), 1000)->ignore }) } @@ -664,7 +664,7 @@ let make = ( ->OrcaUtils.getBoolfromjson(false) if gpayClicked { - Js.Global.setTimeout(() => { + setTimeout(() => { gPayClient.loadPaymentData(. paymentDataRequest->toJson) ->then( json => { diff --git a/src/orca-loader/Types.res b/src/orca-loader/Types.res index a6eb9f05..bb9034d6 100644 --- a/src/orca-loader/Types.res +++ b/src/orca-loader/Types.res @@ -84,7 +84,7 @@ let getElement = _componentName => { let fetchUpdates = () => { Js.Promise.make((~resolve, ~reject as _) => { - Js.Global.setTimeout(() => resolve(. Js.Dict.empty()->JSON.Encode.object), 1000)->ignore + setTimeout(() => resolve(. Js.Dict.empty()->JSON.Encode.object), 1000)->ignore }) } let defaultPaymentElement = { diff --git a/src/orca-log-catcher/OrcaLogger.res b/src/orca-log-catcher/OrcaLogger.res index e718ac7e..99710dee 100644 --- a/src/orca-log-catcher/OrcaLogger.res +++ b/src/orca-log-catcher/OrcaLogger.res @@ -476,10 +476,10 @@ let make = ( let rec sendLogs = () => { switch timeOut.contents { | Some(val) => { - Js.Global.clearTimeout(val) - timeOut := Some(Js.Global.setTimeout(() => sendLogs(), 120000)) + clearTimeout(val) + timeOut := Some(setTimeout(() => sendLogs(), 120000)) } - | None => timeOut := Some(Js.Global.setTimeout(() => sendLogs(), 120000)) + | None => timeOut := Some(setTimeout(() => sendLogs(), 120000)) } beaconApiCall(mainLogFile) let len = mainLogFile->Array.length @@ -512,10 +512,10 @@ let make = ( let checkLogSizeAndSendData = () => { switch timeOut.contents { | Some(val) => { - Js.Global.clearTimeout(val) - timeOut := Some(Js.Global.setTimeout(() => sendLogs(), 20000)) + clearTimeout(val) + timeOut := Some(setTimeout(() => sendLogs(), 20000)) } - | None => timeOut := Some(Js.Global.setTimeout(() => sendLogs(), 20000)) + | None => timeOut := Some(setTimeout(() => sendLogs(), 20000)) } if mainLogFile->checkForPriorityEvents { @@ -738,7 +738,7 @@ let make = ( //event->Window.preventDefault() sendLogs() switch timeOut.contents { - | Some(val) => Js.Global.clearTimeout(val) + | Some(val) => clearTimeout(val) | None => () } } From 34e022a6b16092e1ad9a39ecc88003c7b0b4a272 Mon Sep 17 00:00:00 2001 From: Pritish Budhiraja <1805317@kiit.ac.in> Date: Thu, 7 Mar 2024 13:07:54 +0530 Subject: [PATCH 07/17] refactor: dict changes --- src/BrowserSpec.res | 2 +- src/CardTheme.res | 8 +- src/CardUtils.res | 6 +- src/Components/DynamicFields.res | 2 +- src/Components/FullScreenPortal.res | 2 +- src/Components/PortalCapture.res | 6 +- src/Hooks/CommonHooks.res | 2 +- src/Hooks/PortalState.res | 2 +- src/LoaderController.res | 23 +- src/NoTheme.res | 2 +- src/Payment.res | 8 +- src/PaymentElement.res | 2 +- src/Payments/ApplePay.res | 20 +- src/Payments/BankTransfersPopup.res | 16 +- src/Payments/CardPayment.res | 6 +- src/Payments/GPay.res | 16 +- src/Payments/KlarnaSDK.res | 2 +- src/Payments/PaymentMethodsRecord.res | 32 +- src/Payments/PaymentMethodsWrapper.res | 4 +- src/Payments/PreMountLoader.res | 6 +- src/Payments/QRCodeDisplay.res | 22 +- src/Payments/VoucherDisplay.res | 4 +- src/Types/ApplePayTypes.res | 2 +- src/Types/ConfirmType.res | 2 +- src/Types/ElementType.res | 16 +- src/Types/GooglePayType.res | 18 +- src/Types/PaymentConfirmTypes.res | 16 +- src/Types/PaymentError.res | 2 +- src/Types/PaymentType.res | 40 +-- src/Types/SessionsType.res | 10 +- src/Utilities/ApiEndpoint.res | 4 +- src/Utilities/DynamicFieldsUtils.res | 12 +- src/Utilities/ErrorUtils.res | 4 +- src/Utilities/EventListenerManager.res | 6 +- src/Utilities/LoggerUtils.res | 6 +- src/Utilities/PaymentBody.res | 405 +++++++++++------------ src/Utilities/PaymentHelpers.res | 48 +-- src/Utilities/Utils.res | 100 +++--- src/orca-loader/Elements.res | 129 ++++---- src/orca-loader/Hyper.res | 66 ++-- src/orca-loader/LoaderPaymentElement.res | 40 +-- src/orca-loader/OrcaUtils.res | 88 ++--- src/orca-loader/Types.res | 14 +- src/orca-log-catcher/OrcaLogger.res | 38 +-- 44 files changed, 604 insertions(+), 655 deletions(-) diff --git a/src/BrowserSpec.res b/src/BrowserSpec.res index c745c23e..d4ed10d7 100644 --- a/src/BrowserSpec.res +++ b/src/BrowserSpec.res @@ -36,7 +36,7 @@ let broswerInfo = () => [ ("java_enabled", true->JSON.Encode.bool), ("java_script_enabled", true->JSON.Encode.bool), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] diff --git a/src/CardTheme.res b/src/CardTheme.res index 519b0054..6086f436 100644 --- a/src/CardTheme.res +++ b/src/CardTheme.res @@ -48,7 +48,7 @@ let defaultAppearance = { variables: DefaultTheme.default, componentType: "payment", labels: Above, - rules: Js.Dict.empty()->JSON.Encode.object, + rules: Dict.make()->JSON.Encode.object, } let defaultFonts = { cssSrc: "", @@ -89,7 +89,7 @@ let defaultRecoilConfig: recoilConfig = { let getVariables = (str, dict, default, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { let validKeys = [ @@ -257,7 +257,7 @@ let getAppearance = ( logger, ) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { unknownKeysWarning(["theme", "variables", "rules", "labels"], json, "appearance", ~logger) @@ -284,7 +284,7 @@ let getAppearance = ( } let getFonts = (str, dict, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) ->Belt.Array.keepMap(JSON.Decode.object) diff --git a/src/CardUtils.res b/src/CardUtils.res index 29d1fa1b..7504a2f6 100644 --- a/src/CardUtils.res +++ b/src/CardUtils.res @@ -74,7 +74,7 @@ let toInt = val => val->Belt.Int.fromString->Option.getOr(0) let toString = val => val->Belt.Int.toString let getQueryParamsDictforKey = (searchParams, keyName) => { - let dict = Js.Dict.empty() + let dict = Dict.make() searchParams ->Js.String2.split("&") @@ -86,10 +86,10 @@ let getQueryParamsDictforKey = (searchParams, keyName) => { } else { "" } - Js.Dict.set(dict, key, value) + Dict.set(dict, key, value) }) - dict->Js.Dict.get(keyName)->Option.getOr("") + dict->Dict.get(keyName)->Option.getOr("") } let cardType = val => { switch val { diff --git a/src/Components/DynamicFields.res b/src/Components/DynamicFields.res index d945bafb..7aa887e2 100644 --- a/src/Components/DynamicFields.res +++ b/src/Components/DynamicFields.res @@ -14,7 +14,7 @@ let make = ( ~isBancontact=false, ) => { React.useEffect1(() => { - setRequiredFieldsBody(_ => Js.Dict.empty()) + setRequiredFieldsBody(_ => Dict.make()) None }, [paymentMethodType]) diff --git a/src/Components/FullScreenPortal.res b/src/Components/FullScreenPortal.res index f3ddc2b9..585c7ee5 100644 --- a/src/Components/FullScreenPortal.res +++ b/src/Components/FullScreenPortal.res @@ -12,7 +12,7 @@ let make = (~children) => { let json = ev.data->JSON.parseExn let dict = json->getDictFromJson - if dict->Js.Dict.get("fullScreenIframeMounted")->Option.isSome { + if dict->Dict.get("fullScreenIframeMounted")->Option.isSome { if dict->getBool("fullScreenIframeMounted", false) { setFullScreenIframeNode(_ => switch Window.windowParent->Window.fullscreen { diff --git a/src/Components/PortalCapture.res b/src/Components/PortalCapture.res index 30adf4b2..6f48947a 100644 --- a/src/Components/PortalCapture.res +++ b/src/Components/PortalCapture.res @@ -6,17 +6,17 @@ let make = React.memo((~name: string) => { prevDict => { let clonedDict = prevDict - ->Js.Dict.entries + ->Dict.toArray ->Array.filter( entry => { let (key, _val) = entry key !== name }, ) - ->Js.Dict.fromArray + ->Dict.fromArray switch elem->Js.Nullable.toOption { - | Some(elem) => Js.Dict.set(clonedDict, name, elem) + | Some(elem) => Dict.set(clonedDict, name, elem) | None => () } diff --git a/src/Hooks/CommonHooks.res b/src/Hooks/CommonHooks.res index c39f5adf..0f5c7336 100644 --- a/src/Hooks/CommonHooks.res +++ b/src/Hooks/CommonHooks.res @@ -29,7 +29,7 @@ external addEventListener: (element, string, event => unit) => unit = "addEventL @send external removeEventListener: (element, string, event => unit) => unit = "removeEventListener" -external dictToObj: Js.Dict.t<'a> => {..} = "%identity" +external dictToObj: Dict.t<'a> => {..} = "%identity" let useScript = (src: string) => { let (status, setStatus) = React.useState(_ => src != "" ? "loading" : "idle") diff --git a/src/Hooks/PortalState.res b/src/Hooks/PortalState.res index 305f8203..6acd59c0 100644 --- a/src/Hooks/PortalState.res +++ b/src/Hooks/PortalState.res @@ -1 +1 @@ -let defaultDict: Js.Dict.t = Js.Dict.empty() +let defaultDict: Dict.t = Dict.make() diff --git a/src/LoaderController.res b/src/LoaderController.res index 55e5c486..a4f02f9f 100644 --- a/src/LoaderController.res +++ b/src/LoaderController.res @@ -163,7 +163,7 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { React.useEffect1(() => { CardUtils.genreateFontsLink(config.fonts) let dict = config.appearance.rules->getDictFromJson - if dict->Js.Dict.entries->Array.length > 0 { + if dict->Dict.toArray->Array.length > 0 { Utils.generateStyleSheet("", dict, "themestyle") } switch paymentMode->CardTheme.getPaymentMode { @@ -178,7 +178,7 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { styleClass ->Array.map(item => { let (class, dict) = item - if dict->Js.Dict.entries->Array.length > 0 { + if dict->Dict.toArray->Array.length > 0 { Utils.generateStyleSheet(class, dict, "widgetstyle")->ignore } }) @@ -193,22 +193,19 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { let json = try { ev.data->JSON.parseExn } catch { - | _ => Js.Dict.empty()->JSON.Encode.object + | _ => Dict.make()->JSON.Encode.object } try { let dict = json->getDictFromJson if dict->getDictIsSome("paymentElementCreate") { if ( dict - ->Js.Dict.get("paymentElementCreate") + ->Dict.get("paymentElementCreate") ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(false) ) { if ( - dict - ->Js.Dict.get("otherElements") - ->Option.flatMap(JSON.Decode.bool) - ->Option.getOr(false) + dict->Dict.get("otherElements")->Option.flatMap(JSON.Decode.bool)->Option.getOr(false) ) { updateOptions(dict) } else { @@ -303,7 +300,7 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { updateOptions(dict) } else if dict->getDictIsSome("ElementsUpdate") { let optionsDict = dict->getDictFromObj("options") - let clientSecret = dict->Js.Dict.get("clientSecret") + let clientSecret = dict->Dict.get("clientSecret") switch clientSecret { | Some(val) => setKeys(.prev => { @@ -345,9 +342,9 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { if dict->getDictIsSome("paymentMethodList") { let list = dict->getJsonObjectFromDict("paymentMethodList") let updatedState: PaymentType.loadType = - list == Js.Dict.empty()->JSON.Encode.object + list == Dict.make()->JSON.Encode.object ? LoadError(list) - : switch list->Utils.getDictFromJson->Js.Dict.get("error") { + : switch list->Utils.getDictFromJson->Dict.get("error") { | Some(_) => LoadError(list) | None => let isNonEmptyPaymentMethodList = @@ -373,10 +370,10 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { customerPaymentMethods, }) } - if dict->Js.Dict.get("applePayCanMakePayments")->Option.isSome { + if dict->Dict.get("applePayCanMakePayments")->Option.isSome { setIsApplePayReady(._ => true) } - if dict->Js.Dict.get("applePaySessionObjNotPresent")->Option.isSome { + if dict->Dict.get("applePaySessionObjNotPresent")->Option.isSome { setIsApplePayReady(.prev => prev && false) } } catch { diff --git a/src/NoTheme.res b/src/NoTheme.res index c78b8e14..368224b0 100644 --- a/src/NoTheme.res +++ b/src/NoTheme.res @@ -41,7 +41,7 @@ let nakedValues = { spacingGridRow: "20px", } -let nakedValuesRules = _ => Js.Dict.empty()->JSON.Encode.object +let nakedValuesRules = _ => Dict.make()->JSON.Encode.object let default = nakedValues let defaultRules = nakedValuesRules diff --git a/src/Payment.res b/src/Payment.res index 8ee67c98..b1cf86ac 100644 --- a/src/Payment.res +++ b/src/Payment.res @@ -293,16 +293,16 @@ let make = (~paymentMode, ~integrateError, ~logger) => { let json = try { ev.data->JSON.parseExn } catch { - | _ => Js.Dict.empty()->JSON.Encode.object + | _ => Dict.make()->JSON.Encode.object } let dict = json->Utils.getDictFromJson - if dict->Js.Dict.get("doBlur")->Option.isSome { + if dict->Dict.get("doBlur")->Option.isSome { logger.setLogInfo(~value="doBlur Triggered", ~eventName=BLUR, ()) setBlurState(_ => true) - } else if dict->Js.Dict.get("doFocus")->Option.isSome { + } else if dict->Dict.get("doFocus")->Option.isSome { logger.setLogInfo(~value="doFocus Triggered", ~eventName=FOCUS, ()) cardRef.current->Js.Nullable.toOption->Option.forEach(input => input->focus)->ignore - } else if dict->Js.Dict.get("doClearValues")->Option.isSome { + } else if dict->Dict.get("doClearValues")->Option.isSome { logger.setLogInfo(~value="doClearValues Triggered", ~eventName=CLEAR, ()) //clear all values setCardNumber(_ => "") diff --git a/src/PaymentElement.res b/src/PaymentElement.res index 71cd63cc..c0d447dc 100644 --- a/src/PaymentElement.res +++ b/src/PaymentElement.res @@ -22,7 +22,7 @@ let make = ( let isGooglePayReady = Recoil.useRecoilValueFromAtom(isGooglePayReady) let methodslist = Recoil.useRecoilValueFromAtom(list) let paymentOrder = paymentMethodOrder->Utils.getOptionalArr->Utils.removeDuplicate - let (sessions, setSessions) = React.useState(_ => Js.Dict.empty()->JSON.Encode.object) + let (sessions, setSessions) = React.useState(_ => Dict.make()->JSON.Encode.object) let (paymentOptions, setPaymentOptions) = React.useState(_ => []) let (walletOptions, setWalletOptions) = React.useState(_ => []) let {sdkHandleConfirmPayment} = Recoil.useRecoilValueFromAtom(keys) diff --git a/src/Payments/ApplePay.res b/src/Payments/ApplePay.res index 7bc77d14..12bc2f8c 100644 --- a/src/Payments/ApplePay.res +++ b/src/Payments/ApplePay.res @@ -20,7 +20,7 @@ let make = ( let (applePayClicked, setApplePayClicked) = React.useState(_ => false) let isApplePaySDKFlow = sessionObj->Option.isSome let {localeString} = Recoil.useRecoilValueFromAtom(RecoilAtoms.configAtom) - let (requiredFieldsBody, setRequiredFieldsBody) = React.useState(_ => Js.Dict.empty()) + let (requiredFieldsBody, setRequiredFieldsBody) = React.useState(_ => Dict.make()) let areRequiredFieldsValid = Recoil.useRecoilValueFromAtom(RecoilAtoms.areRequiredFieldsValid) let areRequiredFieldsEmpty = Recoil.useRecoilValueFromAtom(RecoilAtoms.areRequiredFieldsEmpty) let isWallet = walletOptions->Array.includes("apple_pay") @@ -66,7 +66,7 @@ let make = ( } else { let requiredFieldsBodyArr = bodyArr - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object ->OrcaUtils.flattenObject(true) ->OrcaUtils.mergeTwoFlattenedJsonDicts(requiredFieldsBody) @@ -247,8 +247,8 @@ let make = ( sessionObj ->Option.getOr(JSON.Encode.null) ->JSON.Decode.object - ->Option.getOr(Js.Dict.empty()) - ->Js.Dict.get("delayed_session_token") + ->Option.getOr(Dict.make()) + ->Dict.get("delayed_session_token") ->Option.getOr(JSON.Encode.null) ->JSON.Decode.bool ->Option.getOr(false) @@ -278,24 +278,22 @@ let make = ( let json = try { ev.data->JSON.parseExn } catch { - | _ => Js.Dict.empty()->JSON.Encode.object + | _ => Dict.make()->JSON.Encode.object } try { let dict = json->Utils.getDictFromJson - if dict->Js.Dict.get("applePayProcessPayment")->Option.isSome { + if dict->Dict.get("applePayProcessPayment")->Option.isSome { let token = - dict - ->Js.Dict.get("applePayProcessPayment") - ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + dict->Dict.get("applePayProcessPayment")->Option.getOr(Dict.make()->JSON.Encode.object) let bodyDict = PaymentBody.applePayBody(~token, ~connectors) processPayment(bodyDict) - } else if dict->Js.Dict.get("showApplePayButton")->Option.isSome { + } else if dict->Dict.get("showApplePayButton")->Option.isSome { setApplePayClicked(_ => false) if !isWallet { postFailedSubmitResponse(~errortype="server_error", ~message="Something went wrong") } - } else if dict->Js.Dict.get("applePaySyncPayment")->Option.isSome { + } else if dict->Dict.get("applePaySyncPayment")->Option.isSome { syncPayment() } } catch { diff --git a/src/Payments/BankTransfersPopup.res b/src/Payments/BankTransfersPopup.res index d45a7011..d3476975 100644 --- a/src/Payments/BankTransfersPopup.res +++ b/src/Payments/BankTransfersPopup.res @@ -1,8 +1,8 @@ open Utils let getKeyValue = (json, str) => { json - ->Js.Dict.get(str) - ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + ->Dict.get(str) + ->Option.getOr(Dict.make()->JSON.Encode.object) ->JSON.Decode.string ->Option.getOr("") } @@ -10,8 +10,8 @@ let getKeyValue = (json, str) => { @react.component let make = (~transferType) => { let (keys, setKeys) = React.useState(_ => []) - let (json, setJson) = React.useState(_ => Js.Dict.empty()) - let (postData, setPostData) = React.useState(_ => Js.Dict.empty()->JSON.Encode.object) + let (json, setJson) = React.useState(_ => Dict.make()) + let (postData, setPostData) = React.useState(_ => Dict.make()->JSON.Encode.object) let (return_url, setReturnUrl) = React.useState(_ => "") let (responseType, title) = switch transferType { | "achBankTransfer" => ("ach_credit_transfer", "ACH") @@ -52,16 +52,16 @@ let make = (~transferType) => { let handle = (ev: Window.event) => { let json = ev.data->JSON.parseExn let dict = json->Utils.getDictFromJson - if dict->Js.Dict.get("fullScreenIframeMounted")->Option.isSome { + if dict->Dict.get("fullScreenIframeMounted")->Option.isSome { let metadata = dict->getJsonObjectFromDict("metadata") let dictMetadata = dict ->getJsonObjectFromDict("metadata") ->getDictFromJson - ->Js.Dict.get(responseType) - ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + ->Dict.get(responseType) + ->Option.getOr(Dict.make()->JSON.Encode.object) ->getDictFromJson - setKeys(_ => dictMetadata->Js.Dict.keys) + setKeys(_ => dictMetadata->Dict.keysToArray) setJson(_ => dictMetadata) setPostData(_ => metadata->getDictFromJson->getJsonObjectFromDict("data")) setReturnUrl(_ => metadata->getDictFromJson->getString("url", "")) diff --git a/src/Payments/CardPayment.res b/src/Payments/CardPayment.res index 11ac357d..0a71673e 100644 --- a/src/Payments/CardPayment.res +++ b/src/Payments/CardPayment.res @@ -76,7 +76,7 @@ let make = ( postFailedSubmitResponse(~errortype="validation_error", ~message) } - let (requiredFieldsBody, setRequiredFieldsBody) = React.useState(_ => Js.Dict.empty()) + let (requiredFieldsBody, setRequiredFieldsBody) = React.useState(_ => Dict.make()) let areRequiredFieldsValid = Recoil.useRecoilValueFromAtom(RecoilAtoms.areRequiredFieldsValid) @@ -194,7 +194,7 @@ let make = ( intent( ~bodyArr={ (isBancontact ? banContactBody : cardBody) - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object ->OrcaUtils.flattenObject(true) ->OrcaUtils.mergeTwoFlattenedJsonDicts(requiredFieldsBody) @@ -207,7 +207,7 @@ let make = ( } else if areRequiredFieldsValid && complete && !empty { intent( ~bodyArr=savedCardBody - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object ->OrcaUtils.flattenObject(true) ->OrcaUtils.mergeTwoFlattenedJsonDicts(requiredFieldsBody) diff --git a/src/Payments/GPay.res b/src/Payments/GPay.res index 85390643..49ef62c6 100644 --- a/src/Payments/GPay.res +++ b/src/Payments/GPay.res @@ -11,7 +11,7 @@ let make = ( ~paymentType: option, ~walletOptions: array, ) => { - let (requiredFieldsBody, setRequiredFieldsBody) = React.useState(_ => Js.Dict.empty()) + let (requiredFieldsBody, setRequiredFieldsBody) = React.useState(_ => Dict.make()) let (loggerState, _setLoggerState) = Recoil.useRecoilState(loggerAtom) let {iframeId} = Recoil.useRecoilValueFromAtom(keys) let {publishableKey, sdkHandleOneClickConfirmPayment} = Recoil.useRecoilValueFromAtom(keys) @@ -59,7 +59,7 @@ let make = ( let isDelayedSessionToken = React.useMemo1(() => { thirdPartySessionObj ->Option.flatMap(JSON.Decode.object) - ->Option.flatMap(x => x->Js.Dict.get("delayed_session_token")) + ->Option.flatMap(x => x->Dict.get("delayed_session_token")) ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(false) }, [thirdPartySessionObj]) @@ -81,15 +81,15 @@ let make = ( let json = try { ev.data->JSON.parseExn } catch { - | _ => Js.Dict.empty()->JSON.Encode.object + | _ => Dict.make()->JSON.Encode.object } let dict = json->Utils.getDictFromJson - if dict->Js.Dict.get("gpayResponse")->Option.isSome { + if dict->Dict.get("gpayResponse")->Option.isSome { let metadata = dict->getJsonObjectFromDict("gpayResponse") let obj = metadata->getDictFromJson->itemToObjMapper let body = { PaymentBody.gpayBody(~payObj=obj, ~connectors) - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object ->OrcaUtils.flattenObject(true) ->OrcaUtils.mergeTwoFlattenedJsonDicts(requiredFieldsBody) @@ -97,7 +97,7 @@ let make = ( } processPayment(body) } - if dict->Js.Dict.get("gpayError")->Option.isSome { + if dict->Dict.get("gpayError")->Option.isSome { Utils.handlePostMessage([("fullscreen", false->JSON.Encode.bool)]) if !isWallet { postFailedSubmitResponse(~errortype="server_error", ~message="Something went wrong") @@ -207,11 +207,11 @@ let make = ( let json = try { ev.data->JSON.parseExn } catch { - | _ => Js.Dict.empty()->JSON.Encode.object + | _ => Dict.make()->JSON.Encode.object } let dict = json->Utils.getDictFromJson try { - if dict->Js.Dict.get("googlePaySyncPayment")->Option.isSome { + if dict->Dict.get("googlePaySyncPayment")->Option.isSome { syncPayment() } } catch { diff --git a/src/Payments/KlarnaSDK.res b/src/Payments/KlarnaSDK.res index bdafc22d..0fd0b303 100644 --- a/src/Payments/KlarnaSDK.res +++ b/src/Payments/KlarnaSDK.res @@ -53,7 +53,7 @@ let make = (~sessionObj: SessionsType.token, ~list: PaymentMethodsRecord.list) = color_text: None, payment_method_category: Some("klarna"), }, - Js.Dict.empty()->JSON.Encode.object, + Dict.make()->JSON.Encode.object, (res: res) => { let (connectors, _) = list->PaymentUtils.getConnectors(PayLater(Klarna(SDK))) let body = PaymentBody.klarnaSDKbody(~token=res.authorization_token, ~connectors) diff --git a/src/Payments/PaymentMethodsRecord.res b/src/Payments/PaymentMethodsRecord.res index 2f2d070c..53585ba8 100644 --- a/src/Payments/PaymentMethodsRecord.res +++ b/src/Payments/PaymentMethodsRecord.res @@ -524,7 +524,7 @@ let getPaymentMethodsFieldTypeFromString = (str, isBancontact) => { } let getPaymentMethodsFieldTypeFromDict = dict => { - let keysArr = dict->Js.Dict.keys + let keysArr = dict->Dict.keysToArray let key = keysArr->Belt.Array.get(0)->Option.getOr("") switch key { | "user_currency" => { @@ -551,8 +551,8 @@ let getPaymentMethodsFieldTypeFromDict = dict => { let getFieldType = (dict, isBancontact) => { let fieldClass = dict - ->Js.Dict.get("field_type") - ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + ->Dict.get("field_type") + ->Option.getOr(Dict.make()->JSON.Encode.object) ->JSON.Classify.classify switch fieldClass { | Bool(_) @@ -771,7 +771,7 @@ let getPaymentExperienceType = str => { let getPaymentExperience = (dict, str) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) ->Belt.Array.keepMap(JSON.Decode.object) @@ -790,13 +790,13 @@ let getPaymentExperience = (dict, str) => { let getSurchargeDetails = dict => { let surchargDetails = dict - ->Js.Dict.get("surcharge_details") + ->Dict.get("surcharge_details") ->Option.flatMap(JSON.Decode.object) - ->Option.getOr(Js.Dict.empty()) + ->Option.getOr(Dict.make()) let displayTotalSurchargeAmount = surchargDetails - ->Js.Dict.get("display_total_surcharge_amount") + ->Dict.get("display_total_surcharge_amount") ->Option.flatMap(JSON.Decode.float) ->Option.getOr(0.0) @@ -811,7 +811,7 @@ let getSurchargeDetails = dict => { let getCardNetworks = (dict, str) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) ->Belt.Array.keepMap(JSON.Decode.object) @@ -826,7 +826,7 @@ let getCardNetworks = (dict, str) => { let getBankNames = (dict, str) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) ->Belt.Array.keepMap(JSON.Decode.object) @@ -841,9 +841,9 @@ let getBankNames = (dict, str) => { let getAchConnectors = (dict, str) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) - ->Option.getOr(Js.Dict.empty()) + ->Option.getOr(Dict.make()) ->getStrArray("elligible_connectors") } @@ -851,7 +851,7 @@ let getDynamicFieldsFromJsonDict = (dict, isBancontact) => { let requiredFields = Utils.getJsonFromDict(dict, "required_fields", JSON.Encode.null) ->Utils.getDictFromJson - ->Js.Dict.values + ->Dict.valuesToArray requiredFields->Array.map(requiredField => { let requiredFieldsDict = requiredField->Utils.getDictFromJson @@ -866,7 +866,7 @@ let getDynamicFieldsFromJsonDict = (dict, isBancontact) => { let getPaymentMethodTypes = (dict, str) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) ->Belt.Array.keepMap(JSON.Decode.object) @@ -889,7 +889,7 @@ let getPaymentMethodTypes = (dict, str) => { let getMethodsArr = (dict, str) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) ->Belt.Array.keepMap(JSON.Decode.object) @@ -903,7 +903,7 @@ let getMethodsArr = (dict, str) => { let getOptionalMandateType = (dict, str) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { @@ -915,7 +915,7 @@ let getOptionalMandateType = (dict, str) => { let getMandate = (dict, str) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { diff --git a/src/Payments/PaymentMethodsWrapper.res b/src/Payments/PaymentMethodsWrapper.res index 62ae4b96..54c64013 100644 --- a/src/Payments/PaymentMethodsWrapper.res +++ b/src/Payments/PaymentMethodsWrapper.res @@ -39,7 +39,7 @@ let make = ( let cleanBlik = str => str->Js.String2.replaceByRe(%re("/-/g"), "") let cleanPhoneNumber = str => str->Js.String2.replaceByRe(%re("/\s/g"), "") - let (requiredFieldsBody, setRequiredFieldsBody) = React.useState(_ => Js.Dict.empty()) + let (requiredFieldsBody, setRequiredFieldsBody) = React.useState(_ => Dict.make()) let areRequiredFieldsValid = Recoil.useRecoilValueFromAtom(RecoilAtoms.areRequiredFieldsValid) let areRequiredFieldsEmpty = Recoil.useRecoilValueFromAtom(RecoilAtoms.areRequiredFieldsEmpty) @@ -90,7 +90,7 @@ let make = ( ~paymentExperience=paymentFlow, ~currency, ) - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object ->OrcaUtils.flattenObject(true) ->OrcaUtils.mergeTwoFlattenedJsonDicts(requiredFieldsBody) diff --git a/src/Payments/PreMountLoader.res b/src/Payments/PreMountLoader.res index 6bc0a784..985bcaa8 100644 --- a/src/Payments/PreMountLoader.res +++ b/src/Payments/PreMountLoader.res @@ -62,11 +62,11 @@ let make = (~sessionId as _, ~publishableKey as _, ~clientSecret as _, ~endpoint // // | _ => JSON.Encode.null // // } // // let dict = json->Utils.getDictFromJson - // // if dict->Js.Dict.get("sendPaymentMethodsResponse")->Option.isSome { + // // if dict->Dict.get("sendPaymentMethodsResponse")->Option.isSome { // // paymentMethodsResponse->sendPromiseData("payment_methods") - // // } else if dict->Js.Dict.get("sendCustomerPaymentMethodsResponse")->Option.isSome { + // // } else if dict->Dict.get("sendCustomerPaymentMethodsResponse")->Option.isSome { // // customerPaymentMethodsResponse->sendPromiseData("customer_payment_methods") - // // } else if dict->Js.Dict.get("sendSessionTokensResponse")->Option.isSome { + // // } else if dict->Dict.get("sendSessionTokensResponse")->Option.isSome { // // sessionTokensResponse->sendPromiseData("session_tokens") // // } // // } diff --git a/src/Payments/QRCodeDisplay.res b/src/Payments/QRCodeDisplay.res index 7f854f1d..1295452c 100644 --- a/src/Payments/QRCodeDisplay.res +++ b/src/Payments/QRCodeDisplay.res @@ -1,8 +1,8 @@ open Utils let getKeyValue = (json, str) => { json - ->Js.Dict.get(str) - ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + ->Dict.get(str) + ->Option.getOr(Dict.make()->JSON.Encode.object) ->JSON.Decode.string ->Option.getOr("") } @@ -23,9 +23,9 @@ let make = () => { let handle = (ev: Window.event) => { let json = ev.data->JSON.parseExn let dict = json->Utils.getDictFromJson - if dict->Js.Dict.get("fullScreenIframeMounted")->Option.isSome { + if dict->Dict.get("fullScreenIframeMounted")->Option.isSome { let metadata = dict->getJsonObjectFromDict("metadata") - let metaDataDict = metadata->JSON.Decode.object->Option.getOr(Js.Dict.empty()) + let metaDataDict = metadata->JSON.Decode.object->Option.getOr(Dict.make()) let qrData = metaDataDict->getString("qrData", "") setQrCode(_ => qrData) let paymentIntentId = metaDataDict->getString("paymentIntentId", "") @@ -34,14 +34,14 @@ let make = () => { metaDataDict ->getJsonObjectFromDict("headers") ->JSON.Decode.object - ->Option.getOr(Js.Dict.empty()) - let headers = Js.Dict.empty() + ->Option.getOr(Dict.make()) + let headers = Dict.make() setReturnUrl(_ => metadata->getDictFromJson->getString("url", "")) headersDict - ->Js.Dict.entries + ->Dict.toArray ->Array.forEach(entries => { let (x, val) = entries - Js.Dict.set(headers, x, val->JSON.Decode.string->Option.getOr("")) + Dict.set(headers, x, val->JSON.Decode.string->Option.getOr("")) }) let expiryTime = metaDataDict->getString("expiryTime", "")->Belt.Float.fromString->Option.getOr(0.0) @@ -50,10 +50,10 @@ let make = () => { setExpiryTime(_ => timeExpiry) } open Promise - setHeaders(_ => headers->Js.Dict.entries) + setHeaders(_ => headers->Dict.toArray) PaymentHelpers.pollRetrievePaymentIntent( paymentIntentId, - headers->Js.Dict.entries, + headers->Dict.toArray, ~optLogger=Some(logger), ~switchToCustomPod, ) @@ -91,7 +91,7 @@ let make = () => { ~switchToCustomPod, ) ->then(json => { - let dict = json->JSON.Decode.object->Option.getOr(Js.Dict.empty()) + let dict = json->JSON.Decode.object->Option.getOr(Dict.make()) let status = dict->getString("status", "") if status === "succeeded" { diff --git a/src/Payments/VoucherDisplay.res b/src/Payments/VoucherDisplay.res index 74665d16..2655e781 100644 --- a/src/Payments/VoucherDisplay.res +++ b/src/Payments/VoucherDisplay.res @@ -25,9 +25,9 @@ let make = () => { let handle = (ev: Window.event) => { let json = ev.data->JSON.parseExn let dict = json->Utils.getDictFromJson - if dict->Js.Dict.get("fullScreenIframeMounted")->Option.isSome { + if dict->Dict.get("fullScreenIframeMounted")->Option.isSome { let metadata = dict->getJsonObjectFromDict("metadata") - let metaDataDict = metadata->JSON.Decode.object->Option.getOr(Js.Dict.empty()) + let metaDataDict = metadata->JSON.Decode.object->Option.getOr(Dict.make()) setReturnUrl(_ => metaDataDict->getString("returnUrl", "")) setDownloadUrl(_ => metaDataDict->getString("voucherUrl", "")) setReference(_ => metaDataDict->getString("reference", "")) diff --git a/src/Types/ApplePayTypes.res b/src/Types/ApplePayTypes.res index 08ccdd01..215773df 100644 --- a/src/Types/ApplePayTypes.res +++ b/src/Types/ApplePayTypes.res @@ -41,7 +41,7 @@ type paymentRequestData = { @optional merchantIdentifier: string, } -let jsonToPaymentRequestDataType: Js.Dict.t => paymentRequestData = jsonDict => { +let jsonToPaymentRequestDataType: Dict.t => paymentRequestData = jsonDict => { let clientTimeZone = CardUtils.dateTimeFormat(.).resolvedOptions(.).timeZone let clientCountry = Utils.getClientCountry(clientTimeZone) let defaultCountryCode = clientCountry.isoAlpha2 diff --git a/src/Types/ConfirmType.res b/src/Types/ConfirmType.res index 719f42c0..6c16e6bc 100644 --- a/src/Types/ConfirmType.res +++ b/src/Types/ConfirmType.res @@ -15,7 +15,7 @@ let defaultConfirm = { } let getConfirmParams = (dict, str) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { diff --git a/src/Types/ElementType.res b/src/Types/ElementType.res index ffb0eae0..d287bf79 100644 --- a/src/Types/ElementType.res +++ b/src/Types/ElementType.res @@ -106,10 +106,10 @@ let defaultPaymentRequestButton = { height: "", } let defaultStyle = { - base: Js.Dict.empty()->JSON.Encode.object, - complete: Js.Dict.empty()->JSON.Encode.object, - empty: Js.Dict.empty()->JSON.Encode.object, - invalid: Js.Dict.empty()->JSON.Encode.object, + base: Dict.make()->JSON.Encode.object, + complete: Dict.make()->JSON.Encode.object, + empty: Dict.make()->JSON.Encode.object, + invalid: Dict.make()->JSON.Encode.object, paymentRequestButton: defaultPaymentRequestButton, } let defaultOptions = { @@ -124,7 +124,7 @@ let defaultOptions = { } let getClasses = (str, dict, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { @@ -146,7 +146,7 @@ let getClasses = (str, dict, logger) => { let rec getStyleObj = (dict, str, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { @@ -190,7 +190,7 @@ let getTheme = (str, key, logger) => { } let getPaymentRequestButton = (dict, str, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { @@ -207,7 +207,7 @@ let getPaymentRequestButton = (dict, str, logger) => { let getStyle = (dict, str, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { diff --git a/src/Types/GooglePayType.res b/src/Types/GooglePayType.res index f2f1cba3..2f655b31 100644 --- a/src/Types/GooglePayType.res +++ b/src/Types/GooglePayType.res @@ -71,14 +71,14 @@ let defaultTokenizationData = { } let defaultPaymentMethodData = { description: "", - info: Js.Dict.empty()->JSON.Encode.object, - tokenizationData: Js.Dict.empty()->JSON.Encode.object, + info: Dict.make()->JSON.Encode.object, + tokenizationData: Dict.make()->JSON.Encode.object, \"type": "", } let getTokenizationData = (str, dict) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { @@ -89,17 +89,13 @@ let getTokenizationData = (str, dict) => { } let getPaymentMethodData = (str, dict) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { description: getString(json, "description", ""), - tokenizationData: getJsonFromDict( - json, - "tokenizationData", - Js.Dict.empty()->JSON.Encode.object, - ), - info: getJsonFromDict(json, "info", Js.Dict.empty()->JSON.Encode.object), + tokenizationData: getJsonFromDict(json, "tokenizationData", Dict.make()->JSON.Encode.object), + info: getJsonFromDict(json, "info", Dict.make()->JSON.Encode.object), \"type": getString(json, "type", ""), } }) @@ -111,7 +107,7 @@ let itemToObjMapper = dict => { } } -let jsonToPaymentRequestDataType: (paymentDataRequest, Js.Dict.t) => paymentDataRequest = ( +let jsonToPaymentRequestDataType: (paymentDataRequest, Dict.t) => paymentDataRequest = ( paymentRequest, jsonDict, ) => { diff --git a/src/Types/PaymentConfirmTypes.res b/src/Types/PaymentConfirmTypes.res index 1b5a1d59..59202a67 100644 --- a/src/Types/PaymentConfirmTypes.res +++ b/src/Types/PaymentConfirmTypes.res @@ -78,7 +78,7 @@ let defaultIntent = { let getAchCreditTransfer = (dict, str) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { @@ -92,7 +92,7 @@ let getAchCreditTransfer = (dict, str) => { } let getBacsBankInstructions = (dict, str) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { @@ -105,7 +105,7 @@ let getBacsBankInstructions = (dict, str) => { } let getBankTransferDetails = (dict, str) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { @@ -123,7 +123,7 @@ let getVoucherDetails = json => { let getNextAction = (dict, str) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { @@ -133,22 +133,22 @@ let getNextAction = (dict, str) => { getJsonObjFromDict( json, "bank_transfer_steps_and_charges_details", - Js.Dict.empty(), + Dict.make(), )->JSON.Encode.object, ), session_token: Some( - getJsonObjFromDict(json, "session_token", Js.Dict.empty())->JSON.Encode.object, + getJsonObjFromDict(json, "session_token", Dict.make())->JSON.Encode.object, ), image_data_url: Some(json->getString("image_data_url", "")), display_to_timestamp: Some( json - ->Js.Dict.get("display_to_timestamp") + ->Dict.get("display_to_timestamp") ->Option.flatMap(JSON.Decode.float) ->Option.getOr(0.0), ), voucher_details: { json - ->Js.Dict.get("voucher_details") + ->Dict.get("voucher_details") ->Option.flatMap(JSON.Decode.object) ->Option.map(json => json->getVoucherDetails) }, diff --git a/src/Types/PaymentError.res b/src/Types/PaymentError.res index 914b449f..c955ea0d 100644 --- a/src/Types/PaymentError.res +++ b/src/Types/PaymentError.res @@ -12,7 +12,7 @@ let defaultError = { } let getError = (dict, str) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { diff --git a/src/Types/PaymentType.res b/src/Types/PaymentType.res index c8e86708..cdade228 100644 --- a/src/Types/PaymentType.res +++ b/src/Types/PaymentType.res @@ -274,7 +274,7 @@ let getLayout = (str, logger) => { } let getAddress = (dict, str, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { let countryNames = [] @@ -307,7 +307,7 @@ let getAddress = (dict, str, logger) => { } let getBillingDetails = (dict, str, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { unknownKeysWarning( @@ -328,7 +328,7 @@ let getBillingDetails = (dict, str, logger) => { let getDefaultValues = (dict, str, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { unknownKeysWarning(["billingDetails"], json, "options.defaultValues", ~logger) @@ -341,7 +341,7 @@ let getDefaultValues = (dict, str, logger) => { } let getBusiness = (dict, str, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { unknownKeysWarning(["name"], json, "options.business", ~logger) @@ -488,7 +488,7 @@ let getShowTerms: (string, string, 'a) => showTerms = (str, key, logger) => { let getShowAddress = (dict, str, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { let x: showAddress = { @@ -545,13 +545,13 @@ let getDeatils = (val, logger) => { } let getBilling = (dict, str, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.map(json => json->getDeatils(logger)) ->Option.getOr(defaultFields.billingDetails) } -let getFields: (Js.Dict.t, string, 'a) => fields = (dict, str, logger) => { +let getFields: (Dict.t, string, 'a) => fields = (dict, str, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { let defaultFields: fields = { @@ -586,7 +586,7 @@ let getLayoutValues = (val, logger) => { } let getTerms = (dict, str, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { unknownKeysWarning( @@ -698,7 +698,7 @@ let getHeightArray = (val, logger) => { } let getStyle = (dict, str, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { unknownKeysWarning(["type", "theme", "height"], json, "options.wallets.style", ~logger) @@ -713,7 +713,7 @@ let getStyle = (dict, str, logger) => { } let getWallets = (dict, str, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { unknownKeysWarning( @@ -741,7 +741,7 @@ let getWallets = (dict, str, logger) => { let getLayout = (dict, str, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.map(json => { json->getLayoutValues(logger) }) @@ -750,7 +750,7 @@ let getLayout = (dict, str, logger) => { let getCardDetails = (dict, str) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { { @@ -768,19 +768,19 @@ let getCardDetails = (dict, str) => { let createCustomerObjArr = dict => { let customerDict = dict - ->Js.Dict.get("customerPaymentMethods") + ->Dict.get("customerPaymentMethods") ->Option.flatMap(JSON.Decode.object) - ->Option.getOr(Js.Dict.empty()) + ->Option.getOr(Dict.make()) let customerArr = customerDict - ->Js.Dict.get("customer_payment_methods") + ->Dict.get("customer_payment_methods") ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) let isGuestCustomer = customerDict - ->Js.Dict.get("is_guest_customer") + ->Dict.get("is_guest_customer") ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(false) @@ -800,7 +800,7 @@ let createCustomerObjArr = dict => { } let getCustomerMethods = (dict, str) => { - let customerArr = dict->Js.Dict.get(str)->Option.flatMap(JSON.Decode.array)->Option.getOr([]) + let customerArr = dict->Dict.get(str)->Option.flatMap(JSON.Decode.array)->Option.getOr([]) if customerArr->Array.length !== 0 { let customerPaymentMethods = @@ -823,7 +823,7 @@ let getCustomerMethods = (dict, str) => { let getCustomMethodNames = (dict, str) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) ->Belt.Array.keepMap(JSON.Decode.object) @@ -835,7 +835,7 @@ let getCustomMethodNames = (dict, str) => { let getBillingAddress = (dict, str, logger) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.object) ->Option.map(json => { unknownKeysWarning( diff --git a/src/Types/SessionsType.res b/src/Types/SessionsType.res index e9b61e6d..e47d51cc 100644 --- a/src/Types/SessionsType.res +++ b/src/Types/SessionsType.res @@ -31,8 +31,8 @@ let defaultToken = { token: "", sessionId: "", allowed_payment_methods: [], - transaction_info: Js.Dict.empty()->JSON.Encode.object, - merchant_info: Js.Dict.empty()->JSON.Encode.object, + transaction_info: Dict.make()->JSON.Encode.object, + merchant_info: Dict.make()->JSON.Encode.object, } let getWallet = str => { switch str { @@ -47,7 +47,7 @@ open Utils let getSessionsToken = (dict, str) => { dict - ->Js.Dict.get(str) + ->Dict.get(str) ->Option.flatMap(JSON.Decode.array) ->Option.map(arr => { arr->Array.map(json => { @@ -65,7 +65,7 @@ let getSessionsToken = (dict, str) => { ->Option.getOr([defaultToken]) } let getSessionsTokenJson = (dict, str) => { - dict->Js.Dict.get(str)->Option.flatMap(JSON.Decode.array)->Option.getOr([]) + dict->Dict.get(str)->Option.flatMap(JSON.Decode.array)->Option.getOr([]) } let itemToObjMapper = (dict, returnType) => { @@ -95,7 +95,7 @@ let getWalletFromTokenType = (arr, val: wallet) => { item ->JSON.Decode.object ->Option.flatMap(x => { - x->Js.Dict.get("wallet_name") + x->Dict.get("wallet_name") }) ->Option.flatMap(JSON.Decode.string) ->Option.getOr("") diff --git a/src/Utilities/ApiEndpoint.res b/src/Utilities/ApiEndpoint.res index ae772e99..d594d39f 100644 --- a/src/Utilities/ApiEndpoint.res +++ b/src/Utilities/ApiEndpoint.res @@ -28,8 +28,8 @@ let addCustomPodHeader = (arr: array<(string, string)>, ~switchToCustomPod=?, () | None => false } if customPod { - arr->Array.concat([("x-feature", "router-custom-dbd")])->Js.Dict.fromArray + arr->Array.concat([("x-feature", "router-custom-dbd")])->Dict.fromArray } else { - arr->Js.Dict.fromArray + arr->Dict.fromArray } } diff --git a/src/Utilities/DynamicFieldsUtils.res b/src/Utilities/DynamicFieldsUtils.res index 55cf444a..5bab3854 100644 --- a/src/Utilities/DynamicFieldsUtils.res +++ b/src/Utilities/DynamicFieldsUtils.res @@ -458,17 +458,17 @@ let useRequiredFieldsBody = ( let value = item->getFieldValueFromFieldType if item === BillingName { let arr = value->Js.String2.split(" ") - acc->Js.Dict.set( + acc->Dict.set( "billing.address.first_name", arr->Belt.Array.get(0)->Option.getOr("")->JSON.Encode.string, ) - acc->Js.Dict.set( + acc->Dict.set( "billing.address.last_name", arr->Belt.Array.get(1)->Option.getOr("")->JSON.Encode.string, ) } else { let path = item->getBillingAddressPathFromFieldType - acc->Js.Dict.set(path, value->JSON.Encode.string) + acc->Dict.set(path, value->JSON.Encode.string) } acc }) @@ -481,7 +481,7 @@ let useRequiredFieldsBody = ( let requiredFieldsBody = requiredFields ->Array.filter(item => item.field_type !== None) - ->Array.reduce(Js.Dict.empty(), (acc, item) => { + ->Array.reduce(Dict.make(), (acc, item) => { let value = switch item.field_type { | BillingName => getName(item, billingName) | FullName => getName(item, fullName) @@ -494,13 +494,13 @@ let useRequiredFieldsBody = ( item.required_field === "payment_method_data.card.card_holder_name" ) { if !isAllStoredCardsHaveName { - acc->Js.Dict.set( + acc->Dict.set( "payment_method_data.card_token.card_holder_name", value->JSON.Encode.string, ) } } else { - acc->Js.Dict.set(item.required_field, value->JSON.Encode.string) + acc->Dict.set(item.required_field, value->JSON.Encode.string) } acc }) diff --git a/src/Utilities/ErrorUtils.res b/src/Utilities/ErrorUtils.res index 7ba94683..df397a86 100644 --- a/src/Utilities/ErrorUtils.res +++ b/src/Utilities/ErrorUtils.res @@ -163,9 +163,9 @@ let manageErrorWarning = ( } } -let unknownKeysWarning = (validKeysArr, dict: Js.Dict.t, dictType: string, ~logger) => { +let unknownKeysWarning = (validKeysArr, dict: Dict.t, dictType: string, ~logger) => { dict - ->Js.Dict.entries + ->Dict.toArray ->Array.forEach(((key, _)) => { if validKeysArr->Array.includes(key) { () diff --git a/src/Utilities/EventListenerManager.res b/src/Utilities/EventListenerManager.res index b3555cde..880259c7 100644 --- a/src/Utilities/EventListenerManager.res +++ b/src/Utilities/EventListenerManager.res @@ -3,13 +3,13 @@ type sessionStorage @send external setItem: (sessionStorage, string, 'a => unit) => unit = "setItem" -let eventListenerMap: Js.Dict.t unit> = Js.Dict.empty() +let eventListenerMap: Dict.t unit> = Dict.make() let addSmartEventListener = (type_, handlerMethod: Types.event => unit, activity) => { - switch eventListenerMap->Js.Dict.get(activity) { + switch eventListenerMap->Dict.get(activity) { | Some(value) => Window.removeEventListener(type_, value) | None => () } - eventListenerMap->Js.Dict.set(activity, handlerMethod) + eventListenerMap->Dict.set(activity, handlerMethod) Window.addEventListener(type_, handlerMethod) } diff --git a/src/Utilities/LoggerUtils.res b/src/Utilities/LoggerUtils.res index d60ace02..36511b54 100644 --- a/src/Utilities/LoggerUtils.res +++ b/src/Utilities/LoggerUtils.res @@ -12,11 +12,11 @@ let getLogtype = val => { let logApi = ( ~eventName, ~statusCode="", - ~data: JSON.t=Js.Dict.empty()->JSON.Encode.object, + ~data: JSON.t=Dict.make()->JSON.Encode.object, ~type_, ~url="", ~paymentMethod="", - ~result: JSON.t=Js.Dict.empty()->JSON.Encode.object, + ~result: JSON.t=Dict.make()->JSON.Encode.object, ~optLogger: option, ~logType: OrcaLogger.logType=INFO, ~logCategory: OrcaLogger.logCategory=API, @@ -65,7 +65,7 @@ let logApi = ( let logInputChangeInfo = (text, logger: OrcaLogger.loggerMake) => { logger.setLogInfo( ~value=[("inputChange", text->JSON.Encode.string)] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object ->JSON.stringify, ~eventName=INPUT_FIELD_CHANGED, diff --git a/src/Utilities/PaymentBody.res b/src/Utilities/PaymentBody.res index 4c1c32b6..c00f138d 100644 --- a/src/Utilities/PaymentBody.res +++ b/src/Utilities/PaymentBody.res @@ -16,11 +16,11 @@ let cardPaymentBody = (~cardNumber, ~month, ~year, ~cardHolderName, ~cvcNumber, ("card_issuer", ""->JSON.Encode.string), ] ->Array.concat(cardBrand) - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -42,15 +42,15 @@ let boletoBody = (~socialSecurityNumber) => [ ( "boleto", [("social_security_number", socialSecurityNumber->JSON.Encode.string)] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -78,15 +78,15 @@ let mandateBody = paymentType => { ( "online", [("user_agent", BrowserSpec.navigator.userAgent->JSON.Encode.string)] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ("setup_future_usage", "off_session"->JSON.Encode.string), @@ -134,11 +134,11 @@ let achBankDebitBody = ( ("zip", postalCode->JSON.Encode.string), ("country", country->JSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ("account_number", bank.accountNumber->JSON.Encode.string), @@ -146,15 +146,15 @@ let achBankDebitBody = ( ("routing_number", bank.routingNumber->JSON.Encode.string), ("bank_type", bank.accountType->JSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ]->Array.concat(mandateBody(paymentType)) @@ -196,25 +196,25 @@ let sepaBankDebitBody = ( ("zip", postalCode->JSON.Encode.string), ("country", country->JSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ("iban", data.iban->JSON.Encode.string), ("bank_account_holder_name", data.accountHolderName->JSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -257,26 +257,26 @@ let bacsBankDebitBody = ( ("state", state->JSON.Encode.string), ("country", country->JSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ("bank_account_holder_name", bankAccountHolderName->JSON.Encode.string), ("sort_code", sortCode->JSON.Encode.string), ("account_number", accNum->JSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -318,26 +318,26 @@ let becsBankDebitBody = ( ("zip", postalCode->JSON.Encode.string), ("country", country->JSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ("bsb_number", data.sortCode->JSON.Encode.string), ("account_number", data.accountNumber->JSON.Encode.string), ("bank_account_holder_name", data.accountHolderName->JSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -360,15 +360,15 @@ let klarnaRedirectionBody = (~fullName, ~email, ~country, ~connectors) => [ ("billing_email", email->JSON.Encode.string), ("billing_country", country->JSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -383,17 +383,12 @@ let klarnaSDKbody = (~token, ~connectors) => [ [ ( "pay_later", - [ - ( - "klarna_sdk", - [("token", token->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, - ), - ] - ->Js.Dict.fromArray + [("klarna_sdk", [("token", token->JSON.Encode.string)]->Dict.fromArray->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -408,12 +403,12 @@ let paypalRedirectionBody = (~connectors) => [ [ ( "wallet", - [("paypal_redirect", []->Js.Dict.fromArray->JSON.Encode.object)] - ->Js.Dict.fromArray + [("paypal_redirect", []->Dict.fromArray->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -428,17 +423,12 @@ let paypalSdkBody = (~token, ~connectors) => [ [ ( "wallet", - [ - ( - "paypal_sdk", - [("token", token->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, - ), - ] - ->Js.Dict.fromArray + [("paypal_sdk", [("token", token->JSON.Encode.string)]->Dict.fromArray->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -464,15 +454,15 @@ let gpayBody = (~payObj: GooglePayType.paymentData, ~connectors: array) payObj.paymentMethodData.tokenizationData->Utils.transformKeys(Utils.SnakeCase), ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -486,12 +476,12 @@ let gpayRedirectBody = (~connectors: array) => [ [ ( "wallet", - [("google_pay_redirect", Js.Dict.empty()->JSON.Encode.object)] - ->Js.Dict.fromArray + [("google_pay_redirect", Dict.make()->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -506,26 +496,26 @@ let gPayThirdPartySdkBody = (~connectors) => { [ ( "wallet", - [("google_pay_third_party_sdk", Js.Dict.empty()->JSON.Encode.object)] - ->Js.Dict.fromArray + [("google_pay_third_party_sdk", Dict.make()->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] } let applePayBody = (~token, ~connectors) => { - let dict = token->JSON.Decode.object->Option.getOr(Js.Dict.empty()) + let dict = token->JSON.Decode.object->Option.getOr(Dict.make()) let paymentDataString = dict - ->Js.Dict.get("paymentData") - ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + ->Dict.get("paymentData") + ->Option.getOr(Dict.make()->JSON.Encode.object) ->JSON.stringify ->btoa - dict->Js.Dict.set("paymentData", paymentDataString->JSON.Encode.string) + dict->Dict.set("paymentData", paymentDataString->JSON.Encode.string) [ ("connector", connectors->Utils.getArrofJsonString->JSON.Encode.array), ("payment_method", "wallet"->JSON.Encode.string), @@ -536,11 +526,11 @@ let applePayBody = (~token, ~connectors) => { ( "wallet", [("apple_pay", dict->JSON.Encode.object->Utils.transformKeys(SnakeCase))] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -556,12 +546,12 @@ let applePayRedirectBody = (~connectors) => { [ ( "wallet", - [("apple_pay_redirect", Js.Dict.empty()->JSON.Encode.object)] - ->Js.Dict.fromArray + [("apple_pay_redirect", Dict.make()->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -577,12 +567,12 @@ let applePayThirdPartySdkBody = (~connectors) => { [ ( "wallet", - [("apple_pay_third_party_sdk", Js.Dict.empty()->JSON.Encode.object)] - ->Js.Dict.fromArray + [("apple_pay_third_party_sdk", Dict.make()->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -597,12 +587,12 @@ let affirmBody = () => [ [ ( "pay_later", - [("affirm_redirect", []->Js.Dict.fromArray->JSON.Encode.object)] - ->Js.Dict.fromArray + [("affirm_redirect", []->Dict.fromArray->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -616,10 +606,10 @@ let cryptoBody = (~currency) => [ [ ( "crypto", - [("pay_currency", currency->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + [("pay_currency", currency->JSON.Encode.string)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -640,15 +630,15 @@ let afterpayRedirectionBody = (~fullName, ~email) => [ ("billing_email", email->JSON.Encode.string), ("billing_name", fullName->JSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -667,19 +657,19 @@ let giroPayBody = (~name, ~iban="", ()) => [ [ ( "billing_details", - [("billing_name", name->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + [("billing_name", name->JSON.Encode.string)]->Dict.fromArray->JSON.Encode.object, ), ("bank_account_iban", iban->JSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -704,19 +694,19 @@ let sofortBody = (~country, ~name, ~email) => [ ("billing_name", name->JSON.Encode.string), ("email", (email == "" ? "test@gmail.com" : email)->JSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -735,19 +725,19 @@ let iDealBody = (~name, ~bankName) => [ [ ( "billing_details", - [("billing_name", name->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + [("billing_name", name->JSON.Encode.string)]->Dict.fromArray->JSON.Encode.object, ), ("bank_name", (bankName == "" ? "american_express" : bankName)->JSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -766,19 +756,19 @@ let epsBody = (~name, ~bankName) => [ [ ( "billing_details", - [("billing_name", name->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + [("billing_name", name->JSON.Encode.string)]->Dict.fromArray->JSON.Encode.object, ), ("bank_name", (bankName === "" ? "american_express" : bankName)->JSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -798,18 +788,18 @@ let achBankTransferBody = (~email, ~connectors) => [ [ ( "billing_details", - [("email", email->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + [("email", email->JSON.Encode.string)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -829,19 +819,19 @@ let bacsBankTransferBody = (~email, ~name, ~connectors) => [ ( "billing_details", [("email", email->JSON.Encode.string), ("name", name->JSON.Encode.string)] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -861,20 +851,20 @@ let sepaBankTransferBody = (~email, ~name, ~country, ~connectors) => [ ( "billing_details", [("email", email->JSON.Encode.string), ("name", name->JSON.Encode.string)] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ("country", country->JSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -889,14 +879,14 @@ let blikBody = (~blikCode) => [ [ ( "blik", - [("blik_code", blikCode->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + [("blik_code", blikCode->JSON.Encode.string)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -915,18 +905,18 @@ let p24Body = (~email) => [ [ ( "billing_details", - [("email", email->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + [("email", email->JSON.Encode.string)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -943,15 +933,15 @@ let interacBody = (~email, ~country) => [ ( "interac", [("email", email->JSON.Encode.string), ("country", country->JSON.Encode.string)] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -964,12 +954,12 @@ let mobilePayBody = () => [ [ ( "wallet", - [("mobile_pay", []->Js.Dict.fromArray->JSON.Encode.object)] - ->Js.Dict.fromArray + [("mobile_pay", []->Dict.fromArray->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -982,12 +972,12 @@ let aliPayRedirectBody = () => [ [ ( "wallet", - [("ali_pay_redirect", []->Js.Dict.fromArray->JSON.Encode.object)] - ->Js.Dict.fromArray + [("ali_pay_redirect", []->Dict.fromArray->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1000,12 +990,12 @@ let aliPayQrBody = () => [ [ ( "wallet", - [("ali_pay_qr", []->Js.Dict.fromArray->JSON.Encode.object)] - ->Js.Dict.fromArray + [("ali_pay_qr", []->Dict.fromArray->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1018,12 +1008,12 @@ let weChatPayRedirectBody = () => [ [ ( "wallet", - [("we_chat_pay_redirect", []->Js.Dict.fromArray->JSON.Encode.object)] - ->Js.Dict.fromArray + [("we_chat_pay_redirect", []->Dict.fromArray->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1036,12 +1026,12 @@ let weChatPayQrBody = () => [ [ ( "wallet", - [("we_chat_pay_qr", []->Js.Dict.fromArray->JSON.Encode.object)] - ->Js.Dict.fromArray + [("we_chat_pay_qr", []->Dict.fromArray->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1057,14 +1047,14 @@ let trustlyBody = (~country) => [ [ ( "trustly", - [("country", country->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + [("country", country->JSON.Encode.string)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1077,12 +1067,12 @@ let finlandOB = () => [ [ ( "bank_redirect", - [("online_banking_finland", []->Js.Dict.fromArray->JSON.Encode.object)] - ->Js.Dict.fromArray + [("online_banking_finland", []->Dict.fromArray->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1098,14 +1088,14 @@ let polandOB = (~bank) => [ [ ( "online_banking_poland", - [("issuer", bank->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + [("issuer", bank->JSON.Encode.string)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1121,14 +1111,14 @@ let czechOB = (~bank) => [ [ ( "online_banking_czech_republic", - [("issuer", bank->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + [("issuer", bank->JSON.Encode.string)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1144,14 +1134,14 @@ let slovakiaOB = (~bank) => [ [ ( "online_banking_slovakia", - [("issuer", bank->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + [("issuer", bank->JSON.Encode.string)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1164,12 +1154,12 @@ let walleyBody = () => [ [ ( "pay_later", - [("walley_redirect", []->Js.Dict.fromArray->JSON.Encode.object)] - ->Js.Dict.fromArray + [("walley_redirect", []->Dict.fromArray->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1182,12 +1172,12 @@ let payBrightBody = () => [ [ ( "pay_later", - [("pay_bright_redirect", []->Js.Dict.fromArray->JSON.Encode.object)] - ->Js.Dict.fromArray + [("pay_bright_redirect", []->Dict.fromArray->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1203,15 +1193,15 @@ let mbWayBody = (~phoneNumber) => [ ( "mb_way_redirect", [("telephone_number", phoneNumber->JSON.Encode.string)] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1224,12 +1214,10 @@ let twintBody = () => [ [ ( "wallet", - [("twint_redirect", Js.Dict.empty()->JSON.Encode.object)] - ->Js.Dict.fromArray - ->JSON.Encode.object, + [("twint_redirect", Dict.make()->JSON.Encode.object)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1242,12 +1230,10 @@ let vippsBody = () => [ [ ( "wallet", - [("vipps_redirect", Js.Dict.empty()->JSON.Encode.object)] - ->Js.Dict.fromArray - ->JSON.Encode.object, + [("vipps_redirect", Dict.make()->JSON.Encode.object)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1260,12 +1246,10 @@ let danaBody = () => [ [ ( "wallet", - [("dana_redirect", Js.Dict.empty()->JSON.Encode.object)] - ->Js.Dict.fromArray - ->JSON.Encode.object, + [("dana_redirect", Dict.make()->JSON.Encode.object)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1278,12 +1262,10 @@ let goPayBody = () => [ [ ( "wallet", - [("go_pay_redirect", Js.Dict.empty()->JSON.Encode.object)] - ->Js.Dict.fromArray - ->JSON.Encode.object, + [("go_pay_redirect", Dict.make()->JSON.Encode.object)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1295,12 +1277,12 @@ let kakaoPayBody = () => [ [ ( "wallet", - [("kakao_pay_redirect", Js.Dict.empty()->JSON.Encode.object)] - ->Js.Dict.fromArray + [("kakao_pay_redirect", Dict.make()->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1313,12 +1295,10 @@ let gcashBody = () => [ [ ( "wallet", - [("gcash_redirect", Js.Dict.empty()->JSON.Encode.object)] - ->Js.Dict.fromArray - ->JSON.Encode.object, + [("gcash_redirect", Dict.make()->JSON.Encode.object)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1330,12 +1310,10 @@ let momoBody = () => [ [ ( "wallet", - [("momo_redirect", Js.Dict.empty()->JSON.Encode.object)] - ->Js.Dict.fromArray - ->JSON.Encode.object, + [("momo_redirect", Dict.make()->JSON.Encode.object)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1348,12 +1326,12 @@ let touchNGoBody = () => [ [ ( "wallet", - [("touch_n_go_redirect", Js.Dict.empty()->JSON.Encode.object)] - ->Js.Dict.fromArray + [("touch_n_go_redirect", Dict.make()->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1366,10 +1344,10 @@ let bizumBody = () => [ [ ( "bank_redirect", - [("bizum", Js.Dict.empty()->JSON.Encode.object)]->Js.Dict.fromArray->JSON.Encode.object, + [("bizum", Dict.make()->JSON.Encode.object)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1391,14 +1369,14 @@ let fpxOBBody = (~bank) => [ [ ( "online_banking_fpx", - [("issuer", bank->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + [("issuer", bank->JSON.Encode.string)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1413,14 +1391,14 @@ let thailandOBBody = (~bank) => [ [ ( "online_banking_thailand", - [("issuer", bank->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + [("issuer", bank->JSON.Encode.string)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1429,13 +1407,8 @@ let almaBody = () => [ ("payment_method_type", "alma"->JSON.Encode.string), ( "payment_method_data", - [ - ( - "pay_later", - [("alma", Js.Dict.empty()->JSON.Encode.object)]->Js.Dict.fromArray->JSON.Encode.object, - ), - ] - ->Js.Dict.fromArray + [("pay_later", [("alma", Dict.make()->JSON.Encode.object)]->Dict.fromArray->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1448,12 +1421,10 @@ let atomeBody = () => [ [ ( "pay_later", - [("atome_redirect", Js.Dict.empty()->JSON.Encode.object)] - ->Js.Dict.fromArray - ->JSON.Encode.object, + [("atome_redirect", Dict.make()->JSON.Encode.object)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1471,18 +1442,18 @@ let multibancoBody = (~email) => [ [ ( "billing_details", - [("email", email->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object, + [("email", email->JSON.Encode.string)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1496,12 +1467,10 @@ let cardRedirectBody = () => { [ ( "card_redirect", - [("card_redirect", Js.Dict.empty()->JSON.Encode.object)] - ->Js.Dict.fromArray - ->JSON.Encode.object, + [("card_redirect", Dict.make()->JSON.Encode.object)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1516,12 +1485,12 @@ let openBankingUKBody = () => { [ ( "bank_redirect", - [("open_banking_uk", Js.Dict.empty()->JSON.Encode.object)] - ->Js.Dict.fromArray + [("open_banking_uk", Dict.make()->JSON.Encode.object)] + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] @@ -1536,10 +1505,10 @@ let pixTransferBody = () => { [ ( "bank_transfer", - [("pix", Js.Dict.empty()->JSON.Encode.object)]->Js.Dict.fromArray->JSON.Encode.object, + [("pix", Dict.make()->JSON.Encode.object)]->Dict.fromArray->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] diff --git a/src/Utilities/PaymentHelpers.res b/src/Utilities/PaymentHelpers.res index 7f5afbfd..055ead3f 100644 --- a/src/Utilities/PaymentHelpers.res +++ b/src/Utilities/PaymentHelpers.res @@ -76,7 +76,7 @@ let rec pollRetrievePaymentIntent = (clientSecret, headers, ~optLogger, ~switchT open Promise retrievePaymentIntent(clientSecret, headers, ~optLogger, ~switchToCustomPod) ->then(json => { - let dict = json->JSON.Decode.object->Option.getOr(Js.Dict.empty()) + let dict = json->JSON.Decode.object->Option.getOr(Dict.make()) let status = dict->getString("status", "") if status === "succeeded" || status === "failed" { @@ -97,7 +97,7 @@ let rec intentCall = ( ~fetchApi: ( string, ~bodyStr: string=?, - ~headers: Js.Dict.t=?, + ~headers: Dict.t=?, ~method_: Fetch.requestMethod, unit, ) => OrcaPaymentPage.Promise.t, @@ -258,11 +258,11 @@ let rec intentCall = ( } else if intent.nextAction.type_ == "display_bank_transfer_information" { let metadata = switch intent.nextAction.bank_transfer_steps_and_charges_details { | Some(obj) => obj->Utils.getDictFromJson - | None => Js.Dict.empty() + | None => Dict.make() } let dict = deepCopyDict(metadata) - dict->Js.Dict.set("data", data) - dict->Js.Dict.set("url", url.href->JSON.Encode.string) + dict->Dict.set("data", data) + dict->Dict.set("url", url.href->JSON.Encode.string) handleLogging( ~optLogger, ~value="", @@ -280,11 +280,11 @@ let rec intentCall = ( } else if intent.nextAction.type_ === "qr_code_information" { let qrData = intent.nextAction.image_data_url->Option.getOr("") let expiryTime = intent.nextAction.display_to_timestamp->Option.getOr(0.0) - let headerObj = Js.Dict.empty() + let headerObj = Dict.make() headers->Array.forEach( entries => { let (x, val) = entries - Js.Dict.set(headerObj, x, val->JSON.Encode.string) + Dict.set(headerObj, x, val->JSON.Encode.string) }, ) let metaData = @@ -294,7 +294,7 @@ let rec intentCall = ( ("headers", headerObj->JSON.Encode.object), ("expiryTime", expiryTime->Belt.Float.toString->JSON.Encode.string), ("url", url.href->JSON.Encode.string), - ]->Js.Dict.fromArray + ]->Dict.fromArray handleLogging( ~optLogger, ~value="", @@ -314,11 +314,11 @@ let rec intentCall = ( download_url: "", reference: "", }) - let headerObj = Js.Dict.empty() + let headerObj = Dict.make() headers->Array.forEach( entries => { let (x, val) = entries - Js.Dict.set(headerObj, x, val->JSON.Encode.string) + Dict.set(headerObj, x, val->JSON.Encode.string) }, ) let metaData = @@ -328,7 +328,7 @@ let rec intentCall = ( ("returnUrl", url.href->JSON.Encode.string), ("paymentMethod", paymentMethod->JSON.Encode.string), ("payment_intent_data", data), - ]->Js.Dict.fromArray + ]->Dict.fromArray handleLogging( ~optLogger, ~value="", @@ -346,7 +346,7 @@ let rec intentCall = ( } else if intent.nextAction.type_ == "third_party_sdk_session_token" { let session_token = switch intent.nextAction.session_token { | Some(token) => token->Utils.getDictFromJson - | None => Js.Dict.empty() + | None => Dict.make() } let walletName = session_token->Utils.getString("wallet_name", "") let message = switch walletName { @@ -381,7 +381,7 @@ let rec intentCall = ( if intent.nextAction.type_ == "third_party_sdk_session_token" { let session_token = switch intent.nextAction.session_token { | Some(token) => token->Utils.getDictFromJson - | None => Js.Dict.empty() + | None => Dict.make() } let walletName = session_token->Utils.getString("wallet_name", "") let message = switch walletName { @@ -540,24 +540,24 @@ let usePaymentSync = (optLogger: option, paymentType: pay } let rec maskPayload = payloadDict => { - let keys = payloadDict->Js.Dict.keys - let maskedPayload = Js.Dict.empty() + let keys = payloadDict->Dict.keysToArray + let maskedPayload = Dict.make() keys ->Array.map(key => { - let value = payloadDict->Js.Dict.get(key)->Option.getOr(JSON.Encode.null) + let value = payloadDict->Dict.get(key)->Option.getOr(JSON.Encode.null) if value->JSON.Decode.array->Option.isSome { let arr = value->JSON.Decode.array->Option.getOr([]) arr->Array.forEachWithIndex((element, index) => { - maskedPayload->Js.Dict.set( + maskedPayload->Dict.set( key ++ "[" ++ index->Belt.Int.toString ++ "]", element->Utils.getDictFromJson->maskPayload->JSON.Encode.string, ) }) } else if value->JSON.Decode.object->Option.isSome { let valueDict = value->Utils.getDictFromJson - maskedPayload->Js.Dict.set(key, valueDict->maskPayload->JSON.Encode.string) + maskedPayload->Dict.set(key, valueDict->maskPayload->JSON.Encode.string) } else { - maskedPayload->Js.Dict.set( + maskedPayload->Dict.set( key, value ->JSON.Decode.string @@ -624,11 +624,11 @@ let usePaymentIntent = (optLogger: option, paymentType: p let (key, value) = header (key, value->JSON.Encode.string) }) - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object ->JSON.stringify switch paymentType { @@ -684,7 +684,7 @@ let usePaymentIntent = (optLogger: option, paymentType: p let bodyStr = body ->Array.concat(bodyArr->Array.concat(broswerInfo())) - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object ->JSON.stringify callIntent(bodyStr) @@ -695,7 +695,7 @@ let usePaymentIntent = (optLogger: option, paymentType: p ->Array.concat( bodyArr->Array.concatMany([PaymentBody.mandateBody(mandatePaymentType), broswerInfo()]), ) - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object ->JSON.stringify callIntent(bodyStr) @@ -751,7 +751,7 @@ let useSessions = ( ("wallets", wallets->JSON.Encode.array), ("delayed_session_token", isDelayedSessionToken->JSON.Encode.bool), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object let uri = `${endpoint}/payments/session_tokens` logApi( diff --git a/src/Utilities/Utils.res b/src/Utilities/Utils.res index 416f461f..7d7302aa 100644 --- a/src/Utilities/Utils.res +++ b/src/Utilities/Utils.res @@ -6,7 +6,7 @@ type parent type event = {data: string} external eventToJson: event => JSON.t = "%identity" external toJson: 'a => JSON.t = "%identity" -external dictToObj: Js.Dict.t<'a> => {..} = "%identity" +external dictToObj: Dict.t<'a> => {..} = "%identity" @module("./Phone_number.json") external phoneNumberJson: JSON.t = "default" @@ -20,7 +20,7 @@ type dateTimeFormat = {resolvedOptions: (. unit) => options} @send external postMessage: (parent, JSON.t, string) => unit = "postMessage" open ErrorUtils let handlePostMessage = (~targetOrigin="*", messageArr) => { - iframeParent->postMessage(messageArr->Js.Dict.fromArray->JSON.Encode.object, targetOrigin) + iframeParent->postMessage(messageArr->Dict.fromArray->JSON.Encode.object, targetOrigin) } let handleOnFocusPostMessage = (~targetOrigin="*", ()) => { @@ -42,7 +42,7 @@ let handleOnConfirmPostMessage = (~targetOrigin="*", ~isOneClick=false, ()) => { handlePostMessage([(message, true->JSON.Encode.bool)], ~targetOrigin) } let getOptionString = (dict, key) => { - dict->Js.Dict.get(key)->Option.flatMap(JSON.Decode.string) + dict->Dict.get(key)->Option.flatMap(JSON.Decode.string) } let getString = (dict, key, default) => { @@ -51,29 +51,29 @@ let getString = (dict, key, default) => { let getInt = (dict, key, default: int) => { dict - ->Js.Dict.get(key) + ->Dict.get(key) ->Option.flatMap(JSON.Decode.float) ->Option.getOr(default->Belt.Int.toFloat) ->Belt.Float.toInt } let getJsonBoolValue = (dict, key, default) => { - dict->Js.Dict.get(key)->Option.getOr(default->JSON.Encode.bool) + dict->Dict.get(key)->Option.getOr(default->JSON.Encode.bool) } let getJsonStringFromDict = (dict, key, default) => { - dict->Js.Dict.get(key)->Option.getOr(default->JSON.Encode.string) + dict->Dict.get(key)->Option.getOr(default->JSON.Encode.string) } let getJsonArrayFromDict = (dict, key, default) => { - dict->Js.Dict.get(key)->Option.getOr(default->JSON.Encode.array) + dict->Dict.get(key)->Option.getOr(default->JSON.Encode.array) } let getJsonFromDict = (dict, key, default) => { - dict->Js.Dict.get(key)->Option.getOr(default) + dict->Dict.get(key)->Option.getOr(default) } let getJsonObjFromDict = (dict, key, default) => { - dict->Js.Dict.get(key)->Option.flatMap(JSON.Decode.object)->Option.getOr(default) + dict->Dict.get(key)->Option.flatMap(JSON.Decode.object)->Option.getOr(default) } let getDecodedStringFromJson = (json, callbackFunc, defaultValue) => { json @@ -98,7 +98,7 @@ let getRequiredString = (dict, key, default, ~logger) => { } let getWarningString = (dict, key, default, ~logger) => { - switch dict->Js.Dict.get(key) { + switch dict->Dict.get(key) { | Some(val) => switch val->JSON.Decode.string { | Some(val) => val @@ -111,17 +111,17 @@ let getWarningString = (dict, key, default, ~logger) => { } let getDictFromObj = (dict, key) => { - dict->Js.Dict.get(key)->Option.flatMap(JSON.Decode.object)->Option.getOr(Js.Dict.empty()) + dict->Dict.get(key)->Option.flatMap(JSON.Decode.object)->Option.getOr(Dict.make()) } let getJsonObjectFromDict = (dict, key) => { - dict->Js.Dict.get(key)->Option.getOr(JSON.Encode.object(Js.Dict.empty())) + dict->Dict.get(key)->Option.getOr(JSON.Encode.object(Dict.make())) } let getOptionBool = (dict, key) => { - dict->Js.Dict.get(key)->Option.flatMap(JSON.Decode.bool) + dict->Dict.get(key)->Option.flatMap(JSON.Decode.bool) } let getDictFromJson = (json: JSON.t) => { - json->JSON.Decode.object->Option.getOr(Js.Dict.empty()) + json->JSON.Decode.object->Option.getOr(Dict.make()) } let getBool = (dict, key, default) => { @@ -129,7 +129,7 @@ let getBool = (dict, key, default) => { } let getBoolWithWarning = (dict, key, default, ~logger) => { - switch dict->Js.Dict.get(key) { + switch dict->Dict.get(key) { | Some(val) => switch val->JSON.Decode.bool { | Some(val) => val @@ -141,7 +141,7 @@ let getBoolWithWarning = (dict, key, default, ~logger) => { } } let getNumberWithWarning = (dict, key, ~logger, default) => { - switch dict->Js.Dict.get(key) { + switch dict->Dict.get(key) { | Some(val) => switch val->JSON.Decode.float { | Some(val) => val->Belt.Float.toInt @@ -154,7 +154,7 @@ let getNumberWithWarning = (dict, key, ~logger, default) => { } let getOptionalArrayFromDict = (dict, key) => { - dict->Js.Dict.get(key)->Option.flatMap(JSON.Decode.array) + dict->Dict.get(key)->Option.flatMap(JSON.Decode.array) } let getArray = (dict, key) => { dict->getOptionalArrayFromDict(key)->Option.getOr([]) @@ -166,7 +166,7 @@ let getStrArray = (dict, key) => { ->Option.getOr([]) ->Belt.Array.map(json => json->JSON.Decode.string->Option.getOr("")) } -let getOptionalStrArray: (Js.Dict.t, string) => option> = (dict, key) => { +let getOptionalStrArray: (Dict.t, string) => option> = (dict, key) => { switch dict->getOptionalArrayFromDict(key) { | Some(val) => val->Array.length === 0 @@ -224,19 +224,19 @@ let mergeJsons = (json1, json2) => { let rec merge = (obj1, obj2) => { if obj1 != obj2 { obj2 - ->Js.Dict.keys + ->Dict.keysToArray ->Array.map(key => { let overrideProp = obj2->getJsonObjectFromDict(key) let defaultProp = obj1->getJsonObjectFromDict(key) - if defaultProp->getDictFromJson->Js.Dict.keys->Array.length == 0 { - obj1->Js.Dict.set(key, overrideProp) + if defaultProp->getDictFromJson->Dict.keysToArray->Array.length == 0 { + obj1->Dict.set(key, overrideProp) } else if ( overrideProp->JSON.Decode.object->Option.isSome && defaultProp->JSON.Decode.object->Option.isSome ) { merge(defaultProp->getDictFromJson, overrideProp->getDictFromJson) } else if overrideProp !== defaultProp { - obj1->Js.Dict.set(key, overrideProp) + obj1->Dict.set(key, overrideProp) } }) ->ignore @@ -254,7 +254,7 @@ let postFailedSubmitResponse = (~errortype, ~message) => { [ ("type", errortype->JSON.Encode.string), ("message", message->JSON.Encode.string), - ]->Js.Dict.fromArray + ]->Dict.fromArray handlePostMessage([ ("submitSuccessful", false->JSON.Encode.bool), ("error", errorDict->JSON.Encode.object), @@ -294,7 +294,7 @@ let rec transformKeys = (json: JSON.t, to: case) => { } let dict = json->getDictFromJson dict - ->Js.Dict.entries + ->Dict.toArray ->Array.map(((key, value)) => { let x = switch JSON.Classify.classify(value) { | Object(obj) => (key->toCase, obj->JSON.Encode.object->transformKeys(to)) @@ -327,7 +327,7 @@ let rec transformKeys = (json: JSON.t, to: case) => { } x }) - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object } @@ -382,24 +382,24 @@ let checkEmailValid = ( } let validatePhoneNumber = (countryCode, number) => { - let phoneNumberDict = phoneNumberJson->JSON.Decode.object->Option.getOr(Js.Dict.empty()) + let phoneNumberDict = phoneNumberJson->JSON.Decode.object->Option.getOr(Dict.make()) let countriesArr = phoneNumberDict - ->Js.Dict.get("countries") + ->Dict.get("countries") ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) ->Belt.Array.keepMap(JSON.Decode.object) let filteredArr = countriesArr->Array.filter(countryObj => { countryObj - ->Js.Dict.get("phone_number_code") + ->Dict.get("phone_number_code") ->Option.flatMap(JSON.Decode.string) ->Option.getOr("") == countryCode }) switch filteredArr[0] { | Some(obj) => let regex = - obj->Js.Dict.get("validation_regex")->Option.flatMap(JSON.Decode.string)->Option.getOr("") + obj->Dict.get("validation_regex")->Option.flatMap(JSON.Decode.string)->Option.getOr("") Js.Re.test_(regex->Js.Re.fromString, number) | None => false } @@ -463,7 +463,7 @@ let constructClass = (~classname, ~dict) => { let modifiedArr = [] dict - ->Js.Dict.entries + ->Dict.toArray ->Array.map(entry => { let (key, value) = entry @@ -477,7 +477,7 @@ let constructClass = (~classname, ~dict) => { | Some(obj) => let style = obj - ->Js.Dict.entries + ->Dict.toArray ->Array.map(entry => { let (key, value) = entry switch value->JSON.Decode.string { @@ -494,7 +494,7 @@ let constructClass = (~classname, ~dict) => { | Some(obj) => let style = obj - ->Js.Dict.entries + ->Dict.toArray ->Array.map(entry => { let (key, value) = entry switch value->JSON.Decode.string { @@ -633,7 +633,7 @@ let handlePostMessageEvents = ( ("elementType", "payment"->JSON.Encode.string), ("complete", complete->JSON.Encode.bool), ("empty", empty->JSON.Encode.bool), - ("value", [("type", paymentType->JSON.Encode.string)]->Js.Dict.fromArray->JSON.Encode.object), + ("value", [("type", paymentType->JSON.Encode.string)]->Dict.fromArray->JSON.Encode.object), ]) } @@ -655,11 +655,7 @@ let getStateNames = (list: JSON.t, country: RecoilAtomTypes.field) => { options->Array.reduce([], (arr, item) => { arr ->Array.push( - item - ->getDictFromJson - ->Js.Dict.get("name") - ->Option.flatMap(JSON.Decode.string) - ->Option.getOr(""), + item->getDictFromJson->Dict.get("name")->Option.flatMap(JSON.Decode.string)->Option.getOr(""), ) ->ignore arr @@ -680,12 +676,12 @@ let isAddressComplete = ( state.value != "" let deepCopyDict = dict => { - let emptyDict = Js.Dict.empty() + let emptyDict = Dict.make() dict - ->Js.Dict.entries + ->Dict.toArray ->Array.map(item => { let (key, value) = item - emptyDict->Js.Dict.set(key, value) + emptyDict->Dict.set(key, value) }) ->ignore emptyDict @@ -732,7 +728,7 @@ let formatBSB = bsb => { } let getDictIsSome = (dict, key) => { - dict->Js.Dict.get(key)->Option.isSome + dict->Dict.get(key)->Option.isSome } let rgbaTorgb = bgColor => { @@ -759,29 +755,29 @@ let rgbaTorgb = bgColor => { let delay = timeOut => { Promise.make((resolve, _reject) => { setTimeout(() => { - resolve(. Js.Dict.empty()) + resolve(. Dict.make()) }, timeOut)->ignore }) } -let getHeaders = (~uri=?, ~token=?, ~headers=Js.Dict.empty(), ()) => { +let getHeaders = (~uri=?, ~token=?, ~headers=Dict.make(), ()) => { let headerObj = - [("Content-Type", "application/json"), ("sdk-version", Window.version)]->Js.Dict.fromArray + [("Content-Type", "application/json"), ("sdk-version", Window.version)]->Dict.fromArray switch (token, uri) { - | (Some(tok), Some(_uriVal)) => headerObj->Js.Dict.set("Authorization", tok) + | (Some(tok), Some(_uriVal)) => headerObj->Dict.set("Authorization", tok) | _ => () } - Js.Dict.entries(headers)->Array.forEach(entries => { + Dict.toArray(headers)->Array.forEach(entries => { let (x, val) = entries - Js.Dict.set(headerObj, x, val) + Dict.set(headerObj, x, val) }) Fetch.HeadersInit.make(headerObj->dictToObj) } let fetchApi = ( uri, ~bodyStr: string="", - ~headers=Js.Dict.empty(), + ~headers=Dict.make(), ~method_: Fetch.requestMethod, (), ) => { @@ -816,10 +812,10 @@ let formatException = exc => { let getArrayValFromJsonDict = (dict, key, arrayKey) => { dict - ->Js.Dict.get(key) + ->Dict.get(key) ->Option.flatMap(JSON.Decode.object) - ->Option.getOr(Js.Dict.empty()) - ->Js.Dict.get(arrayKey) + ->Option.getOr(Dict.make()) + ->Dict.get(arrayKey) ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) ->Belt.Array.keepMap(JSON.Decode.string) diff --git a/src/orca-loader/Elements.res b/src/orca-loader/Elements.res index 1f59bf8c..e40f2223 100644 --- a/src/orca-loader/Elements.res +++ b/src/orca-loader/Elements.res @@ -30,15 +30,15 @@ let make = ( try { let iframeRef = [] let logger = logger->Option.getOr(OrcaLogger.defaultLoggerConfig) - let savedPaymentElement = Js.Dict.empty() - let localOptions = options->JSON.Decode.object->Option.getOr(Js.Dict.empty()) + let savedPaymentElement = Dict.make() + let localOptions = options->JSON.Decode.object->Option.getOr(Dict.make()) let endpoint = ApiEndpoint.getApiEndPoint(~publishableKey, ()) let appearance = - localOptions->Js.Dict.get("appearance")->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + localOptions->Dict.get("appearance")->Option.getOr(Dict.make()->JSON.Encode.object) let fonts = localOptions - ->Js.Dict.get("fonts") + ->Dict.get("fonts") ->Option.flatMap(JSON.Decode.array) ->Option.getOr([]) ->JSON.Encode.array @@ -47,14 +47,14 @@ let make = ( GlobalVars.isInteg && options ->JSON.Decode.object - ->Option.flatMap(x => x->Js.Dict.get("blockConfirm")) + ->Option.flatMap(x => x->Dict.get("blockConfirm")) ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(false) let switchToCustomPod = GlobalVars.isInteg && options ->JSON.Decode.object - ->Option.flatMap(x => x->Js.Dict.get("switchToCustomPod")) + ->Option.flatMap(x => x->Dict.get("switchToCustomPod")) ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(false) @@ -117,7 +117,7 @@ let make = ( } // setTimeout(() => { - let msg = [("paymentMethodList", json)]->Js.Dict.fromArray + let msg = [("paymentMethodList", json)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) let maskedPayload = json->getDictFromJson->PaymentHelpers.maskPayload logger.setLogInfo(~value=maskedPayload, ~eventName=PAYMENT_METHODS_RESPONSE, ()) @@ -138,17 +138,15 @@ let make = ( customerDetailsPromise ->then(json => { // setTimeout(() => { - let msg = [("customerPaymentMethods", json)]->Js.Dict.fromArray + let msg = [("customerPaymentMethods", json)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) // }, 5000)->ignore json->resolve }) ->catch(_err => { let dict = - [("customer_payment_methods", []->JSON.Encode.array)] - ->Js.Dict.fromArray - ->JSON.Encode.object - let msg = [("customerPaymentMethods", dict)]->Js.Dict.fromArray + [("customer_payment_methods", []->JSON.Encode.array)]->Dict.fromArray->JSON.Encode.object + let msg = [("customerPaymentMethods", dict)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) resolve(msg->JSON.Encode.object) }) @@ -169,20 +167,20 @@ let make = ( setIframeRef(ref) } let getElement = componentName => { - savedPaymentElement->Js.Dict.get(componentName) + savedPaymentElement->Dict.get(componentName) } let update = newOptions => { let newOptionsDict = newOptions->getDictFromJson - switch newOptionsDict->Js.Dict.get("locale") { - | Some(val) => localOptions->Js.Dict.set("locale", val) + switch newOptionsDict->Dict.get("locale") { + | Some(val) => localOptions->Dict.set("locale", val) | None => () } - switch newOptionsDict->Js.Dict.get("appearance") { - | Some(val) => localOptions->Js.Dict.set("appearance", val) + switch newOptionsDict->Dict.get("appearance") { + | Some(val) => localOptions->Dict.set("appearance", val) | None => () } - switch newOptionsDict->Js.Dict.get("clientSecret") { - | Some(val) => localOptions->Js.Dict.set("clientSecret", val) + switch newOptionsDict->Dict.get("clientSecret") { + | Some(val) => localOptions->Dict.set("clientSecret", val) | None => () } @@ -191,13 +189,13 @@ let make = ( [ ("ElementsUpdate", true->JSON.Encode.bool), ("options", newOptionsDict->JSON.Encode.object), - ]->Js.Dict.fromArray + ]->Dict.fromArray iframe->Window.iframePostMessage(message) }) } let fetchUpdates = () => { Js.Promise.make((~resolve, ~reject as _) => { - setTimeout(() => resolve(. Js.Dict.empty()->JSON.Encode.object), 1000)->ignore + setTimeout(() => resolve(. Dict.make()->JSON.Encode.object), 1000)->ignore }) } @@ -232,7 +230,7 @@ let make = ( ("loader", loader), ("fonts", fonts), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object let message = [ @@ -252,17 +250,17 @@ let make = ( ("sdkHandleOneClickConfirmPayment", sdkHandleOneClickConfirmPayment->JSON.Encode.bool), ("parentURL", "*"->JSON.Encode.string), ("analyticsMetadata", analyticsMetadata), - ]->Js.Dict.fromArray + ]->Dict.fromArray let handleApplePayMounted = (event: Types.event) => { let json = event.data->eventToJson let dict = json->getDictFromJson - if dict->Js.Dict.get("applePayMounted")->Option.isSome { + if dict->Dict.get("applePayMounted")->Option.isSome { switch sessionForApplePay->Js.Nullable.toOption { | Some(session) => if session.canMakePayments(.) { - let msg = [("applePayCanMakePayments", true->JSON.Encode.bool)]->Js.Dict.fromArray + let msg = [("applePayCanMakePayments", true->JSON.Encode.bool)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) } else { logger.setLogInfo( @@ -283,7 +281,7 @@ let make = ( let json = event.data->eventToJson let dict = json->getDictFromJson - switch dict->Js.Dict.get("googlePayThirdPartyFlow") { + switch dict->Dict.get("googlePayThirdPartyFlow") { | Some(googlePayThirdPartyOptSession) => { let googlePayThirdPartySession = googlePayThirdPartyOptSession->Utils.getDictFromJson @@ -296,7 +294,7 @@ let make = ( } let paymentDataRequest = GooglePayType.assign2( - Js.Dict.empty()->JSON.Encode.object, + Dict.make()->JSON.Encode.object, baseDetails->objToJson, ) @@ -320,7 +318,7 @@ let make = ( ~paymentMethod="GOOGLE_PAY", (), ) - let msg = [("googlePaySyncPayment", true->JSON.Encode.bool)]->Js.Dict.fromArray + let msg = [("googlePaySyncPayment", true->JSON.Encode.bool)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) resolve() }) @@ -334,7 +332,7 @@ let make = ( ~logCategory=USER_ERROR, (), ) - let msg = [("googlePaySyncPayment", true->JSON.Encode.bool)]->Js.Dict.fromArray + let msg = [("googlePaySyncPayment", true->JSON.Encode.bool)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) resolve() }) @@ -350,7 +348,7 @@ let make = ( ~logCategory=USER_ERROR, (), ) - let msg = [("googlePaySyncPayment", true->JSON.Encode.bool)]->Js.Dict.fromArray + let msg = [("googlePaySyncPayment", true->JSON.Encode.bool)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) } } @@ -367,7 +365,7 @@ let make = ( let sessionsArr = json ->JSON.Decode.object - ->Option.getOr(Js.Dict.empty()) + ->Option.getOr(Dict.make()) ->SessionsType.getSessionsTokenJson("session_token") let applePayPresent = sessionsArr->Array.find(item => { @@ -376,7 +374,7 @@ let make = ( ->JSON.Decode.object ->Option.flatMap( x => { - x->Js.Dict.get("wallet_name") + x->Dict.get("wallet_name") }, ) ->Option.flatMap(JSON.Decode.string) @@ -384,7 +382,7 @@ let make = ( x === "apple_pay" || x === "applepay" }) if !(applePayPresent->Option.isSome) { - let msg = [("applePaySessionObjNotPresent", true->JSON.Encode.bool)]->Js.Dict.fromArray + let msg = [("applePaySessionObjNotPresent", true->JSON.Encode.bool)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) } let googlePayPresent = sessionsArr->Array.find(item => { @@ -393,7 +391,7 @@ let make = ( ->JSON.Decode.object ->Option.flatMap( x => { - x->Js.Dict.get("wallet_name") + x->Dict.get("wallet_name") }, ) ->Option.flatMap(JSON.Decode.string) @@ -409,7 +407,7 @@ let make = ( //do operations here let processPayment = (token: JSON.t) => { //let body = PaymentBody.applePayBody(~token) - let msg = [("applePayProcessPayment", token)]->Js.Dict.fromArray + let msg = [("applePayProcessPayment", token)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) } @@ -418,14 +416,14 @@ let make = ( (event: Types.event) => { let json = event.data->eventToJson let dict = json->getDictFromJson - switch dict->Js.Dict.get("applePayButtonClicked") { + switch dict->Dict.get("applePayButtonClicked") { | Some(val) => if val->JSON.Decode.bool->Option.getOr(false) { let isDelayedSessionToken = applePayPresent ->Option.flatMap(JSON.Decode.object) - ->Option.getOr(Js.Dict.empty()) - ->Js.Dict.get("delayed_session_token") + ->Option.getOr(Dict.make()) + ->Dict.get("delayed_session_token") ->Option.getOr(JSON.Encode.null) ->JSON.Decode.bool ->Option.getOr(false) @@ -440,13 +438,13 @@ let make = ( let applePayPresent = dict - ->Js.Dict.get("applePayPresent") + ->Dict.get("applePayPresent") ->Option.flatMap(JSON.Decode.object) - ->Option.getOr(Js.Dict.empty()) + ->Option.getOr(Dict.make()) let connector = applePayPresent - ->Js.Dict.get("connector") + ->Dict.get("connector") ->Option.getOr(JSON.Encode.null) ->JSON.Decode.string ->Option.getOr("") @@ -461,25 +459,25 @@ let make = ( ) let secrets = applePayPresent - ->Js.Dict.get("session_token_data") + ->Dict.get("session_token_data") ->Option.getOr(JSON.Encode.null) ->JSON.Decode.object - ->Option.getOr(Js.Dict.empty()) - ->Js.Dict.get("secrets") + ->Option.getOr(Dict.make()) + ->Dict.get("secrets") ->Option.getOr(JSON.Encode.null) let paymentRequest = applePayPresent - ->Js.Dict.get("payment_request_data") + ->Dict.get("payment_request_data") ->Option.flatMap(JSON.Decode.object) - ->Option.getOr(Js.Dict.empty()) + ->Option.getOr(Dict.make()) ->ApplePayTypes.jsonToPaymentRequestDataType let payment = secrets ->JSON.Decode.object - ->Option.getOr(Js.Dict.empty()) - ->Js.Dict.get("payment") + ->Option.getOr(Dict.make()) + ->Dict.get("payment") ->Option.getOr(JSON.Encode.null) ->JSON.Decode.string ->Option.getOr("") @@ -496,7 +494,7 @@ let make = ( (), ) let msg = - [("applePaySyncPayment", true->JSON.Encode.bool)]->Js.Dict.fromArray + [("applePaySyncPayment", true->JSON.Encode.bool)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) logger.setLogInfo( ~value="", @@ -515,7 +513,7 @@ let make = ( (), ) let msg = - [("applePaySyncPayment", true->JSON.Encode.bool)]->Js.Dict.fromArray + [("applePaySyncPayment", true->JSON.Encode.bool)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) resolve() }) @@ -529,7 +527,7 @@ let make = ( (), ) let msg = - [("applePaySyncPayment", true->JSON.Encode.bool)]->Js.Dict.fromArray + [("applePaySyncPayment", true->JSON.Encode.bool)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) } } @@ -539,9 +537,9 @@ let make = ( let paymentRequest = applePayPresent ->Option.flatMap(JSON.Decode.object) - ->Option.getOr(Js.Dict.empty()) - ->Js.Dict.get("payment_request_data") - ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + ->Option.getOr(Dict.make()) + ->Dict.get("payment_request_data") + ->Option.getOr(Dict.make()->JSON.Encode.object) ->Utils.transformKeys(Utils.CamelCase) let ssn = applePaySession(3, paymentRequest) @@ -562,9 +560,9 @@ let make = ( let merchantSession = applePayPresent ->Option.flatMap(JSON.Decode.object) - ->Option.getOr(Js.Dict.empty()) - ->Js.Dict.get("session_token_data") - ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + ->Option.getOr(Dict.make()) + ->Dict.get("session_token_data") + ->Option.getOr(Dict.make()->JSON.Encode.object) ->Utils.transformKeys(Utils.CamelCase) ssn.completeMerchantValidation(. merchantSession) } @@ -575,8 +573,7 @@ let make = ( processPayment(event.payment.token) } ssn.oncancel = _ev => { - let msg = - [("showApplePayButton", true->JSON.Encode.bool)]->Js.Dict.fromArray + let msg = [("showApplePayButton", true->JSON.Encode.bool)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) applePaySessionRef := Js.Nullable.null Utils.logInfo(Js.log("Apple Pay payment cancelled")) @@ -612,12 +609,12 @@ let make = ( "apiVersionMinor": 0, } let paymentDataRequest = GooglePayType.assign2( - Js.Dict.empty()->JSON.Encode.object, + Dict.make()->JSON.Encode.object, baseRequest->toJson, ) let payRequest = GooglePayType.assign( - Js.Dict.empty()->JSON.Encode.object, + Dict.make()->JSON.Encode.object, baseRequest->toJson, { "allowedPaymentMethods": gpayobj.allowed_payment_methods->arrayJsonToCamelCase, @@ -640,7 +637,7 @@ let make = ( ->then(res => { let dict = res->getDictFromJson let isReadyToPay = getBool(dict, "result", false) - let msg = [("isReadyToPay", isReadyToPay->JSON.Encode.bool)]->Js.Dict.fromArray + let msg = [("isReadyToPay", isReadyToPay->JSON.Encode.bool)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) resolve() }) @@ -675,7 +672,7 @@ let make = ( ~logType=DEBUG, (), ) - let msg = [("gpayResponse", json->toJson)]->Js.Dict.fromArray + let msg = [("gpayResponse", json->toJson)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) resolve() }, @@ -690,7 +687,7 @@ let make = ( (), ) - let msg = [("gpayError", err->toJson)]->Js.Dict.fromArray + let msg = [("gpayError", err->toJson)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) resolve() }, @@ -708,7 +705,7 @@ let make = ( json->resolve }) ->then(json => { - let msg = [("sessions", json)]->Js.Dict.fromArray + let msg = [("sessions", json)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) json->resolve }) @@ -725,7 +722,7 @@ let make = ( iframeRef, mountPostMessage, ) - savedPaymentElement->Js.Dict.set(componentType, paymentElement) + savedPaymentElement->Dict.set(componentType, paymentElement) paymentElement } { diff --git a/src/orca-loader/Hyper.res b/src/orca-loader/Hyper.res index 58cb2df6..2763d687 100644 --- a/src/orca-loader/Hyper.res +++ b/src/orca-loader/Hyper.res @@ -85,7 +85,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionOption.flatMap(JSON.Decode.object)->Option.getOr(Js.Dict.empty()) + analyticsInfo->Option.flatMap(JSON.Decode.object)->Option.getOr(Dict.make()) let sessionID = analyticsInfoDict->getString("sessionID", "") let sdkTimestamp = analyticsInfoDict->getString("timeStamp", Js.Date.now()->Belt.Float.toString) let logger = OrcaLogger.make( @@ -100,7 +100,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionJSON.Decode.object - ->Option.flatMap(x => x->Js.Dict.get("customBackendUrl")) + ->Option.flatMap(x => x->Dict.get("customBackendUrl")) ->Option.flatMap(JSON.Decode.string) ->Option.getOr("") customBackendUrl === "" ? () : ApiEndpoint.setApiEndPoint(customBackendUrl) @@ -235,7 +235,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionthen(data => { - [("paymentIntent", data)]->Js.Dict.fromArray->JSON.Encode.object->Promise.resolve + [("paymentIntent", data)]->Dict.fromArray->JSON.Encode.object->Promise.resolve }) } @@ -243,20 +243,20 @@ let make = (publishableKey, options: option, analyticsInfo: optionJSON.Decode.object - ->Option.flatMap(x => x->Js.Dict.get("confirmParams")) - ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + ->Option.flatMap(x => x->Dict.get("confirmParams")) + ->Option.getOr(Dict.make()->JSON.Encode.object) let redirect = payload ->JSON.Decode.object - ->Option.flatMap(x => x->Js.Dict.get("redirect")) + ->Option.flatMap(x => x->Dict.get("redirect")) ->Option.flatMap(JSON.Decode.string) ->Option.getOr("if_required") let url = confirmParams ->JSON.Decode.object - ->Option.flatMap(x => x->Js.Dict.get("return_url")) + ->Option.flatMap(x => x->Dict.get("return_url")) ->Option.flatMap(JSON.Decode.string) ->Option.getOr("") @@ -265,7 +265,7 @@ let make = (publishableKey, options: option, analyticsInfo: optioneventToJson let dict = json->getDictFromJson - switch dict->Js.Dict.get("submitSuccessful") { + switch dict->Dict.get("submitSuccessful") { | Some(val) => logApi( ~type_="method", @@ -275,16 +275,15 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Dict.get("data")->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + let data = dict->Dict.get("data")->Option.getOr(Dict.make()->JSON.Encode.object) let returnUrl = - dict->Js.Dict.get("url")->Option.flatMap(JSON.Decode.string)->Option.getOr(url) + dict->Dict.get("url")->Option.flatMap(JSON.Decode.string)->Option.getOr(url) if isOneClick { iframeRef.contents->Array.forEach(ifR => { // to unset one click button loader ifR->Window.iframePostMessage( - [("oneClickDoSubmit", false->JSON.Encode.bool)]->Js.Dict.fromArray, + [("oneClickDoSubmit", false->JSON.Encode.bool)]->Dict.fromArray, ) }) } @@ -300,7 +299,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionJSON.Encode.bool)]->Js.Dict.fromArray + ? [("oneClickDoSubmit", result->JSON.Encode.bool)]->Dict.fromArray : [ ("doSubmit", true->JSON.Encode.bool), ("clientSecret", clientSecret.contents->JSON.Encode.string), @@ -310,10 +309,10 @@ let make = (publishableKey, options: option, analyticsInfo: optionJSON.Encode.string), ("publishableKey", publishableKey->JSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), - ]->Js.Dict.fromArray + ]->Dict.fromArray addSmartEventListener("message", handleMessage, "onSubmit") iframeRef.contents->Array.forEach(ifR => { ifR->Window.iframePostMessage(message) @@ -334,7 +333,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionJSON.Decode.object - ->Option.flatMap(x => x->Js.Dict.get("clientSecret")) + ->Option.flatMap(x => x->Dict.get("clientSecret")) ->Option.flatMap(JSON.Decode.string) ->Option.getOr("") clientSecret := clientSecretId @@ -361,7 +360,7 @@ let make = (publishableKey, options: option, analyticsInfo: option, _options: option) => { - let decodedData = data->Option.flatMap(JSON.Decode.object)->Option.getOr(Js.Dict.empty()) + let decodedData = data->Option.flatMap(JSON.Decode.object)->Option.getOr(Dict.make()) Js.Promise.make((~resolve, ~reject as _) => { iframeRef.contents ->Array.map(iframe => { @@ -372,16 +371,16 @@ let make = (publishableKey, options: option, analyticsInfo: optionJSON.Encode.string)] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object, ), - ]->Js.Dict.fromArray, + ]->Dict.fromArray, ) let handleMessage = (event: Types.event) => { let json = event.data->eventToJson let dict = json->getDictFromJson - switch dict->Js.Dict.get("submitSuccessful") { + switch dict->Dict.get("submitSuccessful") { | Some(val) => logApi( ~type_="method", @@ -407,13 +406,13 @@ let make = (publishableKey, options: option, analyticsInfo: option { - if dict->Js.Dict.get("amount")->Option.isNone { + if dict->Dict.get("amount")->Option.isNone { Js.Console.error("Amount is not specified, please input an amount") } - let amount = dict->Js.Dict.get("amount")->Option.getOr(0.0->JSON.Encode.float) - dict->Js.Dict.set( + let amount = dict->Dict.get("amount")->Option.getOr(0.0->JSON.Encode.float) + dict->Dict.set( "amount", - [("currency", currency), ("value", amount)]->Js.Dict.fromArray->JSON.Encode.object, + [("currency", currency), ("value", amount)]->Dict.fromArray->JSON.Encode.object, ) Some(dict->JSON.Encode.object) } @@ -422,10 +421,10 @@ let make = (publishableKey, options: option, analyticsInfo: optiongetJsonStringFromDict("currency", "") let optionsTotal = optionsDict - ->Js.Dict.get("total") + ->Dict.get("total") ->Option.flatMap(JSON.Decode.object) ->Option.flatMap(x => addAmountToDict(x, currency)) - ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + ->Option.getOr(Dict.make()->JSON.Encode.object) let displayItems = optionsDict->getJsonArrayFromDict("displayItems", []) let requestPayerName = optionsDict->getJsonStringFromDict("requestPayerName", "") let requestPayerEmail = optionsDict->getJsonBoolValue("requestPayerEmail", false) @@ -434,20 +433,17 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Dict.get("shippingOptions") + ->Dict.get("shippingOptions") ->Option.flatMap(JSON.Decode.object) ->Option.flatMap(x => addAmountToDict(x, currency)) - ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + ->Option.getOr(Dict.make()->JSON.Encode.object) let applePayPaymentMethodData = [ ("supportedMethods", "https://apple.com/apple-pay"->JSON.Encode.string), - ( - "data", - [("version", 12.00->JSON.Encode.float)]->Js.Dict.fromArray->JSON.Encode.object, - ), + ("data", [("version", 12.00->JSON.Encode.float)]->Dict.fromArray->JSON.Encode.object), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object let methodData = [applePayPaymentMethodData]->JSON.Encode.array let details = @@ -457,7 +453,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object let optionsForPaymentRequest = @@ -468,7 +464,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionJSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object Window.paymentRequest(methodData, details, optionsForPaymentRequest) } diff --git a/src/orca-loader/LoaderPaymentElement.res b/src/orca-loader/LoaderPaymentElement.res index 27f25091..47e0516c 100644 --- a/src/orca-loader/LoaderPaymentElement.res +++ b/src/orca-loader/LoaderPaymentElement.res @@ -22,21 +22,21 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let sdkHandleConfirmPayment = options ->JSON.Decode.object - ->Option.flatMap(x => x->Js.Dict.get("sdkHandleConfirmPayment")) + ->Option.flatMap(x => x->Dict.get("sdkHandleConfirmPayment")) ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(false) let sdkHandleOneClickConfirmPayment = options ->JSON.Decode.object - ->Option.flatMap(x => x->Js.Dict.get("sdkHandleOneClickConfirmPayment")) + ->Option.flatMap(x => x->Dict.get("sdkHandleOneClickConfirmPayment")) ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(true) let disableSaveCards = options ->JSON.Decode.object - ->Option.flatMap(x => x->Js.Dict.get("disableSaveCards")) + ->Option.flatMap(x => x->Dict.get("disableSaveCards")) ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(false) @@ -86,21 +86,21 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let collapse = () => () let blur = () => { iframeRef->Array.forEach(iframe => { - let message = [("doBlur", true->JSON.Encode.bool)]->Js.Dict.fromArray + let message = [("doBlur", true->JSON.Encode.bool)]->Dict.fromArray iframe->Window.iframePostMessage(message) }) } let focus = () => { iframeRef->Array.forEach(iframe => { - let message = [("doFocus", true->JSON.Encode.bool)]->Js.Dict.fromArray + let message = [("doFocus", true->JSON.Encode.bool)]->Dict.fromArray iframe->Window.iframePostMessage(message) }) } let clear = () => { iframeRef->Array.forEach(iframe => { - let message = [("doClearValues", true->JSON.Encode.bool)]->Js.Dict.fromArray + let message = [("doClearValues", true->JSON.Encode.bool)]->Dict.fromArray iframe->Window.iframePostMessage(message) }) } @@ -127,19 +127,19 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let flatOption = options->flattenObject(true) let newFlatOption = newOptions->flattenObject(true) - let keys = flatOption->Js.Dict.keys + let keys = flatOption->Dict.keysToArray keys->Array.forEach(key => { - switch newFlatOption->Js.Dict.get(key) { - | Some(op) => flatOption->Js.Dict.set(key, op) + switch newFlatOption->Dict.get(key) { + | Some(op) => flatOption->Dict.set(key, op) | None => () } }) - let newEntries = newFlatOption->Js.Dict.entries + let newEntries = newFlatOption->Dict.toArray newEntries->Array.forEach(entries => { let (key, value) = entries - if flatOption->Js.Dict.get(key)->Option.isNone { - flatOption->Js.Dict.set(key, value) + if flatOption->Dict.get(key)->Option.isNone { + flatOption->Dict.set(key, value) } }) @@ -148,7 +148,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = [ ("paymentElementsUpdate", true->JSON.Encode.bool), ("options", flatOption->JSON.Encode.object->unflattenObject->JSON.Encode.object), - ]->Js.Dict.fromArray + ]->Dict.fromArray iframe->Window.iframePostMessage(message) }) } @@ -161,7 +161,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let currentClass = ref("base") let fullscreen = ref(false) let fullscreenParam = ref("") - let fullscreenMetadata = ref(Js.Dict.empty()->JSON.Encode.object) + let fullscreenMetadata = ref(Dict.make()->JSON.Encode.object) let optionsDict = options->getDictFromJson let handle = (ev: Types.event) => { let eventDataObject = ev.data->eventToJson @@ -243,7 +243,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = fullscreenMetadata := metadata ->Option.flatMap(JSON.Decode.object) - ->Option.getOr(Js.Dict.empty()) + ->Option.getOr(Dict.make()) ->JSON.Encode.object let fullscreenElem = Window.querySelector( `#orca-fullscreen-iframeRef-${localSelectorString}`, @@ -265,21 +265,21 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let handleFullScreenCallback = (ev: Types.event) => { let json = ev.data->eventToJson let dict = json->Utils.getDictFromJson - if dict->Js.Dict.get("iframeMountedCallback")->Option.isSome { + if dict->Dict.get("iframeMountedCallback")->Option.isSome { let fullScreenEle = Window.querySelector(`#orca-fullscreen`) fullScreenEle->Window.iframePostMessage( [ ("fullScreenIframeMounted", true->JSON.Encode.bool), ("metadata", fullscreenMetadata.contents), - ]->Js.Dict.fromArray, + ]->Dict.fromArray, ) } - if dict->Js.Dict.get("driverMounted")->Option.isSome { + if dict->Dict.get("driverMounted")->Option.isSome { mainElement->Window.iframePostMessage( [ ("fullScreenIframeMounted", true->JSON.Encode.bool), ("metadata", fullscreenMetadata.contents), - ]->Js.Dict.fromArray, + ]->Dict.fromArray, ) } } @@ -294,7 +294,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = : { ele->Window.innerHTML("") mainElement->Window.iframePostMessage( - [("fullScreenIframeMounted", false->JSON.Encode.bool)]->Js.Dict.fromArray, + [("fullScreenIframeMounted", false->JSON.Encode.bool)]->Dict.fromArray, ) } | None => () diff --git a/src/orca-loader/OrcaUtils.res b/src/orca-loader/OrcaUtils.res index a9a1bfd0..36dc798c 100644 --- a/src/orca-loader/OrcaUtils.res +++ b/src/orca-loader/OrcaUtils.res @@ -13,34 +13,34 @@ let safeParse = st => { } let rec flattenObject = (obj, addIndicatorForObject) => { - let newDict = Js.Dict.empty() + let newDict = Dict.make() switch obj->JSON.Decode.object { | Some(obj) => obj - ->Js.Dict.entries + ->Dict.toArray ->Array.forEach(entry => { let (key, value) = entry if value->toNullable->Js.Nullable.isNullable { - Js.Dict.set(newDict, key, value) + Dict.set(newDict, key, value) } else { switch value->JSON.Decode.object { | Some(_valueObj) => { if addIndicatorForObject { - Js.Dict.set(newDict, key, JSON.Encode.object(Js.Dict.empty())) + Dict.set(newDict, key, JSON.Encode.object(Dict.make())) } let flattenedSubObj = flattenObject(value, addIndicatorForObject) flattenedSubObj - ->Js.Dict.entries + ->Dict.toArray ->Array.forEach(subEntry => { let (subKey, subValue) = subEntry - Js.Dict.set(newDict, `${key}.${subKey}`, subValue) + Dict.set(newDict, `${key}.${subKey}`, subValue) }) } - | None => Js.Dict.set(newDict, key, value) + | None => Dict.set(newDict, key, value) } } }) @@ -50,21 +50,21 @@ let rec flattenObject = (obj, addIndicatorForObject) => { } let rec flattenObjectWithStringifiedJson = (obj, addIndicatorForObject, keepParent) => { - let newDict = Js.Dict.empty() + let newDict = Dict.make() switch obj->JSON.Decode.object { | Some(obj) => obj - ->Js.Dict.entries + ->Dict.toArray ->Array.forEach(entry => { let (key, value) = entry if value->toNullable->Js.Nullable.isNullable { - Js.Dict.set(newDict, key, value) + Dict.set(newDict, key, value) } else { switch value->JSON.Decode.string->Option.getOr("")->safeParse->JSON.Decode.object { | Some(_valueObj) => { if addIndicatorForObject { - Js.Dict.set(newDict, key, JSON.Encode.object(Js.Dict.empty())) + Dict.set(newDict, key, JSON.Encode.object(Dict.make())) } let flattenedSubObj = flattenObjectWithStringifiedJson( @@ -74,15 +74,15 @@ let rec flattenObjectWithStringifiedJson = (obj, addIndicatorForObject, keepPare ) flattenedSubObj - ->Js.Dict.entries + ->Dict.toArray ->Array.forEach(subEntry => { let (subKey, subValue) = subEntry let keyN = keepParent ? `${key}.${subKey}` : subKey - Js.Dict.set(newDict, keyN, subValue) + Dict.set(newDict, keyN, subValue) }) } - | None => Js.Dict.set(newDict, key, value) + | None => Dict.set(newDict, key, value) } } }) @@ -91,30 +91,30 @@ let rec flattenObjectWithStringifiedJson = (obj, addIndicatorForObject, keepPare newDict } let rec flatten = (obj, addIndicatorForObject) => { - let newDict = Js.Dict.empty() + let newDict = Dict.make() switch obj->JSON.Classify.classify { | Object(obj) => obj - ->Js.Dict.entries + ->Dict.toArray ->Array.forEach(entry => { let (key, value) = entry if value->toNullable->Js.Nullable.isNullable { - Js.Dict.set(newDict, key, value) + Dict.set(newDict, key, value) } else { switch value->JSON.Classify.classify { | Object(_valueObjDict) => { if addIndicatorForObject { - Js.Dict.set(newDict, key, JSON.Encode.object(Js.Dict.empty())) + Dict.set(newDict, key, JSON.Encode.object(Dict.make())) } let flattenedSubObj = flatten(value, addIndicatorForObject) flattenedSubObj - ->Js.Dict.entries + ->Dict.toArray ->Array.forEach(subEntry => { let (subKey, subValue) = subEntry - Js.Dict.set(newDict, `${key}.${subKey}`, subValue) + Dict.set(newDict, `${key}.${subKey}`, subValue) }) } @@ -128,11 +128,11 @@ let rec flatten = (obj, addIndicatorForObject) => { | Object(_obj) => { let flattenedSubObj = flatten(item, addIndicatorForObject) flattenedSubObj - ->Js.Dict.entries + ->Dict.toArray ->Array.forEach( subEntry => { let (subKey, subValue) = subEntry - Js.Dict.set(newDict, `${key}[${index->string_of_int}].${subKey}`, subValue) + Dict.set(newDict, `${key}[${index->string_of_int}].${subKey}`, subValue) }, ) } @@ -142,14 +142,14 @@ let rec flatten = (obj, addIndicatorForObject) => { } }) if stringArray->Array.length > 0 { - Js.Dict.set(newDict, key, stringArray->JSON.Encode.array) + Dict.set(newDict, key, stringArray->JSON.Encode.array) } if arrayArray->Array.length > 0 { - Js.Dict.set(newDict, key, arrayArray->JSON.Encode.array) + Dict.set(newDict, key, arrayArray->JSON.Encode.array) } } - | _ => Js.Dict.set(newDict, key, value) + | _ => Dict.set(newDict, key, value) } } }) @@ -162,16 +162,16 @@ let rec setNested = (dict, keys, value) => { switch keys[0] { | Some(firstKey) => if keys->Array.length === 1 { - Js.Dict.set(dict, firstKey, value) + Dict.set(dict, firstKey, value) } else { - let subDict = switch Js.Dict.get(dict, firstKey) { + let subDict = switch Dict.get(dict, firstKey) { | Some(json) => switch json->JSON.Decode.object { | Some(obj) => obj | None => dict } | None => - let subDict = Js.Dict.empty() + let subDict = Dict.make() dict->Dict.set(firstKey, subDict->JSON.Encode.object) subDict } @@ -183,12 +183,12 @@ let rec setNested = (dict, keys, value) => { } let unflattenObject = obj => { - let newDict = Js.Dict.empty() + let newDict = Dict.make() switch obj->JSON.Decode.object { | Some(dict) => dict - ->Js.Dict.entries + ->Dict.toArray ->Array.forEach(entry => { let (key, value) = entry setNested(newDict, key->Js.String2.split("."), value) @@ -201,15 +201,15 @@ let unflattenObject = obj => { let getEventDataObj = ev => { ev ->JSON.Decode.object - ->Option.flatMap(x => x->Js.Dict.get("data")) - ->Option.getOr(Js.Dict.empty()->JSON.Encode.object) + ->Option.flatMap(x => x->Dict.get("data")) + ->Option.getOr(Dict.make()->JSON.Encode.object) } let getStrValueFromEventDataObj = (ev, key) => { let obj = ev->getEventDataObj obj ->JSON.Decode.object - ->Option.flatMap(x => x->Js.Dict.get(key)) + ->Option.flatMap(x => x->Dict.get(key)) ->Option.flatMap(JSON.Decode.string) ->Option.getOr("") } @@ -218,7 +218,7 @@ let getBoolValueFromEventDataObj = (ev, key) => { let obj = ev->getEventDataObj obj ->JSON.Decode.object - ->Option.flatMap(x => x->Js.Dict.get(key)) + ->Option.flatMap(x => x->Dict.get(key)) ->Option.flatMap(JSON.Decode.bool) ->Option.getOr(false) } @@ -264,18 +264,18 @@ let makeIframe = (element, url) => { iframe.name = "fullscreen" iframe.style = "position: fixed; inset: 0; width: 100vw; height: 100vh; border: 0; z-index: 422222133323; " iframe.onload = () => { - resolve(. Js.Dict.empty()) + resolve(. Dict.make()) } element->appendChild(iframe) }) } let getOptionalJson = (ev, str) => { - ev->getEventDataObj->JSON.Decode.object->Option.getOr(Js.Dict.empty())->Js.Dict.get(str) + ev->getEventDataObj->JSON.Decode.object->Option.getOr(Dict.make())->Dict.get(str) } let getOptionalJsonFromJson = (ev, str) => { - ev->JSON.Decode.object->Option.getOr(Js.Dict.empty())->Js.Dict.get(str) + ev->JSON.Decode.object->Option.getOr(Dict.make())->Dict.get(str) } let getStringfromOptionaljson = (json: option, default: string) => { @@ -314,17 +314,17 @@ let getThemePromise = dict => { let mergeTwoFlattenedJsonDicts = (dict1, dict2) => { dict1 - ->Js.Dict.entries - ->Array.concat(dict2->Js.Dict.entries) - ->Js.Dict.fromArray + ->Dict.toArray + ->Array.concat(dict2->Dict.toArray) + ->Dict.fromArray ->JSON.Encode.object ->unflattenObject } let getArrayOfTupleFromDict = dict => { dict - ->Js.Dict.keys - ->Belt.Array.map(key => (key, Js.Dict.get(dict, key)->Option.getOr(JSON.Encode.null))) + ->Dict.keysToArray + ->Belt.Array.map(key => (key, Dict.get(dict, key)->Option.getOr(JSON.Encode.null))) } let makeOneClickHandlerPromise = sdkHandleOneClickConfirmPayment => { @@ -337,8 +337,8 @@ let makeOneClickHandlerPromise = sdkHandleOneClickConfirmPayment => { let json = event.data->eventToJson->getStringfromjson("")->safeParse let dict = json->Utils.getDictFromJson - if dict->Js.Dict.get("oneClickDoSubmit")->Option.isSome { - resolve(. dict->Js.Dict.get("oneClickDoSubmit")->Option.getOr(true->JSON.Encode.bool)) + if dict->Dict.get("oneClickDoSubmit")->Option.isSome { + resolve(. dict->Dict.get("oneClickDoSubmit")->Option.getOr(true->JSON.Encode.bool)) } } addSmartEventListener("message", handleMessage, "onOneClickHandlerPaymentConfirm") diff --git a/src/orca-loader/Types.res b/src/orca-loader/Types.res index bb9034d6..ac02b723 100644 --- a/src/orca-loader/Types.res +++ b/src/orca-loader/Types.res @@ -33,10 +33,10 @@ type paymentElement = { } type element = { - getElement: Js.Dict.key => option, + getElement: string => option, update: JSON.t => unit, fetchUpdates: unit => Js.Promise.t, - create: (Js.Dict.key, JSON.t) => paymentElement, + create: (string, JSON.t) => paymentElement, } type confirmParams = {return_url: string} @@ -59,20 +59,20 @@ type hyperInstance = { } let oneClickConfirmPaymentFn = (_, _) => { - Js.Promise.resolve(Js.Dict.empty()->JSON.Encode.object) + Js.Promise.resolve(Dict.make()->JSON.Encode.object) } let confirmPaymentFn = (_elements: JSON.t) => { - Js.Promise.resolve(Js.Dict.empty()->JSON.Encode.object) + Js.Promise.resolve(Dict.make()->JSON.Encode.object) } let confirmCardPaymentFn = @this (_this: This.t, _clientSecretId: string, _data: option, _options: option) => { - Js.Promise.resolve(Js.Dict.empty()->JSON.Encode.object) + Js.Promise.resolve(Dict.make()->JSON.Encode.object) } let retrievePaymentIntentFn = _paymentIntentId => { - Js.Promise.resolve(Js.Dict.empty()->JSON.Encode.object) + Js.Promise.resolve(Dict.make()->JSON.Encode.object) } let update = _options => { () @@ -84,7 +84,7 @@ let getElement = _componentName => { let fetchUpdates = () => { Js.Promise.make((~resolve, ~reject as _) => { - setTimeout(() => resolve(. Js.Dict.empty()->JSON.Encode.object), 1000)->ignore + setTimeout(() => resolve(. Dict.make()->JSON.Encode.object), 1000)->ignore }) } let defaultPaymentElement = { diff --git a/src/orca-log-catcher/OrcaLogger.res b/src/orca-log-catcher/OrcaLogger.res index 99710dee..03fe8e2a 100644 --- a/src/orca-log-catcher/OrcaLogger.res +++ b/src/orca-log-catcher/OrcaLogger.res @@ -190,7 +190,7 @@ type loggerMake = { let defaultLoggerConfig = { sendLogs: () => (), setClientSecret: _x => (), - setConfirmPaymentValue: (~paymentType as _) => {Js.Dict.empty()->JSON.Encode.object}, + setConfirmPaymentValue: (~paymentType as _) => {Dict.make()->JSON.Encode.object}, setLogError: ( ~value as _, ~internalMetadata as _=?, @@ -268,7 +268,7 @@ let logFileToObj = logFile => { ("first_event", (logFile.firstEvent ? "true" : "false")->JSON.Encode.string), ("payment_method", logFile.paymentMethod->convertToScreamingSnakeCase->JSON.Encode.string), ] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object } @@ -412,8 +412,8 @@ let make = ( | None => GlobalVars.repoName } - let events = ref(Js.Dict.empty()) - let eventsCounter = ref(Js.Dict.empty()) + let events = ref(Dict.make()) + let eventsCounter = ref(Dict.make()) let timeOut = ref(None) @@ -429,11 +429,11 @@ let make = ( } let calculateAndUpdateCounterHook = eventName => { - let updatedCounter = switch eventsCounter.contents->Js.Dict.get(eventName) { + let updatedCounter = switch eventsCounter.contents->Dict.get(eventName) { | Some(num) => num + 1 | None => 1 } - eventsCounter.contents->Js.Dict.set(eventName, updatedCounter) + eventsCounter.contents->Dict.set(eventName, updatedCounter) updatedCounter } @@ -527,7 +527,7 @@ let make = ( let currentTimestamp = Js.Date.now() let latency = switch eventName { | PAYMENT_ATTEMPT => { - let appRenderedTimestamp = events.contents->Js.Dict.get(APP_RENDERED->eventNameToStrMapper) + let appRenderedTimestamp = events.contents->Dict.get(APP_RENDERED->eventNameToStrMapper) switch appRenderedTimestamp { | Some(float) => currentTimestamp -. float | _ => -1. @@ -539,7 +539,7 @@ let make = ( | PAYMENT_METHODS_CALL | CUSTOMER_PAYMENT_METHODS_CALL => { let logRequestTimestamp = - events.contents->Js.Dict.get(eventName->eventNameToStrMapper ++ "_INIT") + events.contents->Dict.get(eventName->eventNameToStrMapper ++ "_INIT") switch (logRequestTimestamp, type_) { | (Some(_), "request") => 0. | (Some(float), _) => currentTimestamp -. float @@ -562,7 +562,7 @@ let make = ( (), ) => { let eventNameStr = eventName->eventNameToStrMapper - let firstEvent = events.contents->Js.Dict.get(eventNameStr)->Option.isNone + let firstEvent = events.contents->Dict.get(eventNameStr)->Option.isNone let latency = calculateLatencyHook(~eventName, ()) let localTimestamp = timestamp->Option.getOr(Js.Date.now()->Belt.Float.toString) let localTimestampFloat = localTimestamp->Belt.Float.fromString->Option.getOr(Js.Date.now()) @@ -593,12 +593,12 @@ let make = ( ->conditionalLogPush ->ignore checkLogSizeAndSendData() - events.contents->Js.Dict.set(eventNameStr, localTimestampFloat) + events.contents->Dict.set(eventNameStr, localTimestampFloat) } let setConfirmPaymentValue = (~paymentType) => { [("method", "confirmPayment"->JSON.Encode.string), ("type", paymentType->JSON.Encode.string)] - ->Js.Dict.fromArray + ->Dict.fromArray ->JSON.Encode.object } @@ -614,7 +614,7 @@ let make = ( (), ) => { let eventNameStr = eventName->eventNameToStrMapper - let firstEvent = events.contents->Js.Dict.get(eventNameStr)->Option.isNone + let firstEvent = events.contents->Dict.get(eventNameStr)->Option.isNone let latency = calculateLatencyHook(~eventName, ~type_, ()) let localTimestamp = timestamp->Option.getOr(Js.Date.now()->Belt.Float.toString) let localTimestampFloat = localTimestamp->Belt.Float.fromString->Option.getOr(Js.Date.now()) @@ -625,11 +625,11 @@ let make = ( source: sourceString, version: GlobalVars.repoVersion, value: switch value { - | ArrayType(a) => a->Js.Dict.fromArray->JSON.Encode.object->JSON.stringify + | ArrayType(a) => a->Dict.fromArray->JSON.Encode.object->JSON.stringify | StringValue(a) => a }, internalMetadata: switch internalMetadata { - | ArrayType(a) => a->Js.Dict.fromArray->JSON.Encode.object->JSON.stringify + | ArrayType(a) => a->Dict.fromArray->JSON.Encode.object->JSON.stringify | StringValue(a) => a }, category: logCategory, @@ -651,7 +651,7 @@ let make = ( ->conditionalLogPush ->ignore checkLogSizeAndSendData() - events.contents->Js.Dict.set(eventNameStr, localTimestampFloat) + events.contents->Dict.set(eventNameStr, localTimestampFloat) } let setLogError = ( @@ -665,7 +665,7 @@ let make = ( (), ) => { let eventNameStr = eventName->eventNameToStrMapper - let firstEvent = events.contents->Js.Dict.get(eventNameStr)->Option.isNone + let firstEvent = events.contents->Dict.get(eventNameStr)->Option.isNone let latency = calculateLatencyHook(~eventName, ()) let localTimestamp = timestamp->Option.getOr(Js.Date.now()->Belt.Float.toString) let localTimestampFloat = localTimestamp->Belt.Float.fromString->Option.getOr(Js.Date.now()) @@ -696,13 +696,13 @@ let make = ( ->conditionalLogPush ->ignore checkLogSizeAndSendData() - events.contents->Js.Dict.set(eventNameStr, localTimestampFloat) + events.contents->Dict.set(eventNameStr, localTimestampFloat) } let setLogInitiated = () => { let eventName: eventName = LOG_INITIATED let eventNameStr = eventName->eventNameToStrMapper - let firstEvent = events.contents->Js.Dict.get(eventNameStr)->Option.isNone + let firstEvent = events.contents->Dict.get(eventNameStr)->Option.isNone let latency = calculateLatencyHook(~eventName, ()) { logType: INFO, @@ -731,7 +731,7 @@ let make = ( ->conditionalLogPush ->ignore checkLogSizeAndSendData() - events.contents->Js.Dict.set(eventNameStr, Js.Date.now()) + events.contents->Dict.set(eventNameStr, Js.Date.now()) } let handleBeforeUnload = _event => { From 14ac8002bd737c9793868e87f82aa53d67e0c07d Mon Sep 17 00:00:00 2001 From: Pritish Budhiraja <1805317@kiit.ac.in> Date: Thu, 7 Mar 2024 13:24:34 +0530 Subject: [PATCH 08/17] refactor: core api changes --- src/BrowserSpec.res | 4 +- src/CardUtils.res | 68 ++++++++--------- src/Components/AddBankAccount.res | 4 +- src/Components/AddressPaymentInput.res | 2 +- src/Components/BlikCodePaymentInput.res | 6 +- src/Components/DropdownField.res | 8 +- src/Components/Input.res | 4 +- src/Components/InputField.res | 16 ++-- src/Components/PaymentDropDownField.res | 12 +-- src/Components/PaymentField.res | 12 +-- src/Components/PaymentInputField.res | 12 +-- src/Components/PhoneNumberPaymentInput.res | 9 +-- src/Payment.res | 21 +++--- src/PaymentElement.res | 2 +- src/Payments/ACHBankDebit.res | 2 +- src/Payments/BacsBankDebit.res | 14 ++-- src/Payments/BankDebitModal.res | 20 ++--- src/Payments/BecsBankDebit.res | 7 +- src/Payments/Boleto.res | 16 ++-- src/Payments/Boleto.resi | 4 +- src/Payments/PaymentMethodsWrapper.res | 4 +- src/Payments/QRCodeDisplay.res | 4 +- src/SingleLineCardPayment.res | 2 +- src/Types/GooglePayType.res | 4 +- src/Utilities/ApiEndpoint.res | 2 +- src/Utilities/DynamicFieldsUtils.res | 18 ++--- src/Utilities/LazyUtils.res | 4 +- src/Utilities/PaymentHelpers.res | 29 ++++---- src/Utilities/PaymentUtils.res | 6 +- src/Utilities/Utils.res | 85 +++++++++++----------- src/libraries/Promise.res | 2 +- src/libraries/Promise.resi | 2 +- src/orca-loader/Elements.res | 8 +- src/orca-loader/Hyper.res | 6 +- src/orca-loader/HyperLoader.res | 2 +- src/orca-loader/LoaderPaymentElement.res | 4 +- src/orca-loader/Types.res | 20 ++--- src/orca-log-catcher/OrcaLogger.res | 12 +-- 38 files changed, 225 insertions(+), 232 deletions(-) diff --git a/src/BrowserSpec.res b/src/BrowserSpec.res index d4ed10d7..b17556e4 100644 --- a/src/BrowserSpec.res +++ b/src/BrowserSpec.res @@ -13,8 +13,8 @@ type screen = {colorDepth: int, height: int, width: int} let checkIsSafari = () => { let userAgentString = navigator.userAgent - let chromeAgent = userAgentString->Js.String2.indexOf("Chrome") > -1 - let safariAgent = userAgentString->Js.String2.indexOf("Safari") > -1 + let chromeAgent = userAgentString->String.indexOf("Chrome") > -1 + let safariAgent = userAgentString->String.indexOf("Safari") > -1 chromeAgent && safariAgent ? false : safariAgent ? true : false } diff --git a/src/CardUtils.res b/src/CardUtils.res index 7504a2f6..f7d3273c 100644 --- a/src/CardUtils.res +++ b/src/CardUtils.res @@ -77,9 +77,9 @@ let getQueryParamsDictforKey = (searchParams, keyName) => { let dict = Dict.make() searchParams - ->Js.String2.split("&") + ->String.split("&") ->Array.forEach(paramStr => { - let keyValArr = Js.String2.split(paramStr, "=") + let keyValArr = String.split(paramStr, "=") let key = keyValArr->Belt.Array.get(0)->Option.getOr("") let value = if keyValArr->Array.length > 0 { keyValArr->Belt.Array.get(1)->Option.getOr("") @@ -121,11 +121,11 @@ let getobjFromCardPattern = cardBrand => { } let clearSpaces = value => { - value->Js.String2.replaceByRe(%re("/\D+/g"), "") + value->String.replaceRegExp(%re("/\D+/g"), "") } -let slice = (val, from: int, to_: int) => { - val->Js.String2.slice(~from, ~to_) +let slice = (val, start: int, end: int) => { + val->String.slice(~start, ~end) } let getStrFromIndex = (arr: array, index) => { @@ -139,11 +139,11 @@ let formatCVCNumber = (val, cardType) => { } let getCurrentMonthAndYear = (dateTimeIsoString: string) => { - let tempTimeDateString = dateTimeIsoString->Js.String2.replace("Z", "") - let tempTimeDate = tempTimeDateString->Js.String2.split("T") + let tempTimeDateString = dateTimeIsoString->String.replace("Z", "") + let tempTimeDate = tempTimeDateString->String.split("T") let date = tempTimeDate[0]->Option.getOr("") - let dateComponents = date->Js.String2.split("-") + let dateComponents = date->String.split("-") let currentMonth = dateComponents->Belt.Array.get(1)->Option.getOr("") let currentYear = dateComponents->Belt.Array.get(0)->Option.getOr("") @@ -173,11 +173,11 @@ let formatCardNumber = (val, cardType) => { )} ${clearValue->slice(12, 19)}` } - formatedCard->Js.String2.trim + formatedCard->String.trim } let splitExpiryDates = val => { - let split = val->Js.String2.split("/") - let value = split->Array.map(item => item->Js.String2.trim) + let split = val->String.split("/") + let value = split->Array.map(item => item->String.trim) let month = value->Belt.Array.get(0)->Option.getOr("") let year = value->Belt.Array.get(1)->Option.getOr("") (month, year) @@ -186,35 +186,35 @@ let getExpiryDates = val => { let date = Js.Date.make()->Js.Date.toISOString let (month, year) = splitExpiryDates(val) let (_, currentYear) = getCurrentMonthAndYear(date) - let prefix = currentYear->Belt.Int.toString->Js.String2.slice(~from=0, ~to_=2) + let prefix = currentYear->Belt.Int.toString->String.slice(~start=0, ~end=2) (month, `${prefix}${year}`) } let formatExpiryToTwoDigit = expiry => { - if expiry->Js.String2.length == 2 { + if expiry->String.length == 2 { expiry } else { - expiry->Js.String2.slice(~from=2, ~to_=4) + expiry->String.slice(~start=2, ~end=4) } } let isExipryComplete = val => { let (month, year) = splitExpiryDates(val) - month->Js.String2.length == 2 && year->Js.String2.length == 2 + month->String.length == 2 && year->String.length == 2 } let formatCardExpiryNumber = val => { let clearValue = val->clearSpaces let expiryVal = clearValue->toInt - let formatted = if expiryVal >= 2 && expiryVal <= 9 && clearValue->Js.String2.length == 1 { + let formatted = if expiryVal >= 2 && expiryVal <= 9 && clearValue->String.length == 1 { `0${clearValue} / ` - } else if clearValue->Js.String2.length == 2 && expiryVal > 12 { - let val = clearValue->Js.String2.split("") + } else if clearValue->String.length == 2 && expiryVal > 12 { + let val = clearValue->String.split("") `0${val->getStrFromIndex(0)} / ${val->getStrFromIndex(1)}` } else { clearValue } - if clearValue->Js.String2.length >= 3 { + if clearValue->String.length >= 3 { `${formatted->slice(0, 2)} / ${formatted->slice(2, 4)}` } else { formatted @@ -223,7 +223,7 @@ let formatCardExpiryNumber = val => { let getCardBrand = cardNumber => { try { - let card = cardNumber->Js.String2.replaceByRe(%re("/[^\d]/g"), "") + let card = cardNumber->String.replaceRegExp(%re("/[^\d]/g"), "") let rupayRanges = [ (508227, 508227), (508500, 508999), @@ -247,8 +247,8 @@ let getCardBrand = cardNumber => { let doesFallInRange = (cardRanges, isin) => { let intIsin = isin - ->Js.String2.replaceByRe(%re("/[^\d]/g"), "") - ->Js.String2.substring(~from=0, ~to_=6) + ->String.replaceRegExp(%re("/[^\d]/g"), "") + ->String.substring(~start=0, ~end=6) ->Belt.Int.fromString ->Option.getOr(0) @@ -267,7 +267,7 @@ let getCardBrand = cardNumber => { } else { patternsDict ->Array.map(item => { - if Js.String2.match_(card, item.pattern)->Option.isSome { + if String.match(card, item.pattern)->Option.isSome { item.issuer } else { "" @@ -285,7 +285,7 @@ let getCardBrand = cardNumber => { let calculateLuhn = value => { let card = value->clearSpaces - let splitArr = card->Js.String2.split("")->Array.toReversed + let splitArr = card->String.split("")->Array.toReversed let unCheckArr = splitArr->Array.filterWithIndex((_, i) => { mod(i, 2) == 0 }) @@ -298,7 +298,7 @@ let calculateLuhn = value => { let val = item->toInt let double = val * 2 let str = double->Belt.Int.toString - let arr = str->Js.String2.split("") + let arr = str->String.split("") switch (arr[0], arr[1]) { | (Some(first), Some(second)) if double > 9 => @@ -358,14 +358,14 @@ let getExpiryValidity = cardExpiry => { valid } let isExipryValid = val => { - val->Js.String2.length > 0 && getExpiryValidity(val) && isExipryComplete(val) + val->String.length > 0 && getExpiryValidity(val) && isExipryComplete(val) } let cardNumberInRange = val => { let clearValue = val->clearSpaces let obj = getobjFromCardPattern(val->getCardBrand) let cardLengthInRange = obj.length->Array.map(item => { - clearValue->Js.String2.length == item + clearValue->String.length == item }) cardLengthInRange } @@ -391,7 +391,7 @@ let cvcNumberInRange = (val, cardBrand) => { let clearValue = val->clearSpaces let obj = getobjFromCardPattern(cardBrand) let cvcLengthInRange = obj.cvcLength->Array.map(item => { - clearValue->Js.String2.length == item + clearValue->String.length == item }) cvcLengthInRange } @@ -429,7 +429,7 @@ let maxCardLength = cardBrand => { } let cardValid = (cardNumber, cardBrand) => { - let clearValueLength = cardNumber->clearSpaces->Js.String2.length + let clearValueLength = cardNumber->clearSpaces->String.length (clearValueLength == maxCardLength(cardBrand) || (cardBrand === "Visa" && clearValueLength == 16)) && calculateLuhn(cardNumber) } @@ -486,10 +486,10 @@ let getCardElementValue = (iframeId, key) => { } let checkCardCVC = (cvcNumber, cardBrand) => { - cvcNumber->Js.String2.length > 0 && cvcNumberInRange(cvcNumber, cardBrand)->Array.includes(true) + cvcNumber->String.length > 0 && cvcNumberInRange(cvcNumber, cardBrand)->Array.includes(true) } let checkCardExpiry = expiry => { - expiry->Js.String2.length > 0 && getExpiryValidity(expiry) + expiry->String.length > 0 && getExpiryValidity(expiry) } let getBoolOptionVal = boolOptionVal => { @@ -531,10 +531,10 @@ let setCardValid = (cardnumber, setIsCardValid) => { if cardValid(cardnumber, cardBrand) { setIsCardValid(_ => Some(true)) } else if ( - !cardValid(cardnumber, cardBrand) && cardnumber->Js.String2.length == maxCardLength(cardBrand) + !cardValid(cardnumber, cardBrand) && cardnumber->String.length == maxCardLength(cardBrand) ) { setIsCardValid(_ => Some(false)) - } else if !(cardnumber->Js.String2.length == maxCardLength(cardBrand)) { + } else if !(cardnumber->String.length == maxCardLength(cardBrand)) { setIsCardValid(_ => None) } } @@ -653,7 +653,7 @@ let setRightIconForCvc = (~cardEmpty, ~cardInvalid, ~color, ~cardComplete) => { let useCardDetails = (~cvcNumber, ~isCvcValidValue, ~isCVCValid) => { React.useMemo3(() => { - let isCardDetailsEmpty = Js.String2.length(cvcNumber) == 0 + let isCardDetailsEmpty = String.length(cvcNumber) == 0 let isCardDetailsValid = isCvcValidValue == "valid" let isCardDetailsInvalid = isCvcValidValue == "invalid" (isCardDetailsEmpty, isCardDetailsValid, isCardDetailsInvalid) diff --git a/src/Components/AddBankAccount.res b/src/Components/AddBankAccount.res index a2de6aed..0434c93b 100644 --- a/src/Components/AddBankAccount.res +++ b/src/Components/AddBankAccount.res @@ -59,8 +59,8 @@ let make = (~modalData, ~setModalData) => { | Some(data: ACHTypes.data) => let last4digts = data.iban !== "" - ? data.iban->CardUtils.clearSpaces->Js.String2.sliceToEnd(~from=-4) - : data.accountNumber->Js.String2.sliceToEnd(~from=-4) + ? data.iban->CardUtils.clearSpaces->String.sliceToEnd(~start=-4) + : data.accountNumber->String.sliceToEnd(~start=-4)
diff --git a/src/Components/AddressPaymentInput.res b/src/Components/AddressPaymentInput.res index c651f404..ebfc5156 100644 --- a/src/Components/AddressPaymentInput.res +++ b/src/Components/AddressPaymentInput.res @@ -7,7 +7,7 @@ type addressType = Line1 | Line2 | City | Postal | State | Country type dataModule = {states: JSON.t} @val -external importStates: string => Js.Promise.t = "import" +external importStates: string => Promise.t = "import" let getShowType = str => { switch str { diff --git a/src/Components/BlikCodePaymentInput.res b/src/Components/BlikCodePaymentInput.res index 84dc7e1e..9fab78fb 100644 --- a/src/Components/BlikCodePaymentInput.res +++ b/src/Components/BlikCodePaymentInput.res @@ -8,13 +8,13 @@ let make = () => { let blikCodeRef = React.useRef(Js.Nullable.null) let formatBSB = bsb => { - let formatted = bsb->Js.String2.replaceByRe(%re("/\D+/g"), "") + let formatted = bsb->String.replaceRegExp(%re("/\D+/g"), "") let firstPart = formatted->CardUtils.slice(0, 3) let secondPart = formatted->CardUtils.slice(3, 6) - if formatted->Js.String2.length <= 3 { + if formatted->String.length <= 3 { firstPart - } else if formatted->Js.String2.length > 3 && formatted->Js.String2.length <= 6 { + } else if formatted->String.length > 3 && formatted->String.length <= 6 { `${firstPart}-${secondPart}` } else { formatted diff --git a/src/Components/DropdownField.res b/src/Components/DropdownField.res index 70aaf537..0e9e12b4 100644 --- a/src/Components/DropdownField.res +++ b/src/Components/DropdownField.res @@ -35,7 +35,7 @@ let make = ( None }) - let focusClass = if inputFocused || value->Js.String2.length > 0 { + let focusClass = if inputFocused || value->String.length > 0 { `mb-7 pb-1 pt-2 ${themeObj.fontSizeXs} transition-all ease-in duration-75` } else { "transition-all ease-in duration-75" @@ -46,7 +46,7 @@ let make = ( let cursorClass = !disabled ? "cursor-pointer" : "cursor-not-allowed" Array.length > 0}>
- Js.String2.length > 0 && appearance.labels == Above}> + String.length > 0 && appearance.labels == Above}>
Js.String2.length > 0 ? "" : themeObj.spacingUnit + inputFocused || value->String.length > 0 ? "" : themeObj.spacingUnit }, ~fontSize={ - inputFocused || value->Js.String2.length > 0 ? themeObj.fontSizeXs : "" + inputFocused || value->String.length > 0 ? themeObj.fontSizeXs : "" }, ~opacity="0.6", (), diff --git a/src/Components/Input.res b/src/Components/Input.res index bdcaac4a..90a4f0f3 100644 --- a/src/Components/Input.res +++ b/src/Components/Input.res @@ -60,7 +60,7 @@ let make = (
- Js.String2.length > 0}> + String.length > 0}>
{React.string(fieldName)}
@@ -89,7 +89,7 @@ let make = (
{switch errorString { | Some(val) => - Js.String2.length > 0}> + String.length > 0}>
{React.string(val)} diff --git a/src/Components/InputField.res b/src/Components/InputField.res index ac121c7d..74d977ee 100644 --- a/src/Components/InputField.res +++ b/src/Components/InputField.res @@ -53,9 +53,9 @@ let make = ( } } let handleFocus = _ => { - if value->Js.String2.length == 0 { + if value->String.length == 0 { setClass("input-empty") - } else if value->Js.String2.length > 0 { + } else if value->String.length > 0 { setValidClasses() } setFocus(true) @@ -64,9 +64,9 @@ let make = ( } let handleBlur = ev => { - if value->Js.String2.length == 0 { + if value->String.length == 0 { setClass("input-base") - } else if value->Js.String2.length > 0 { + } else if value->String.length > 0 { setValidClasses() } setFocus(false) @@ -74,7 +74,7 @@ let make = ( Utils.handleOnBlurPostMessage(~targetOrigin=parentURL, ()) } React.useEffect2(() => { - if value->Js.String2.length > 0 { + if value->String.length > 0 { setValidClasses() } None @@ -90,7 +90,7 @@ let make = ( let (cardEmpty, cardComplete, cardInvalid, cardFocused) = React.useMemo5(() => { let isCardDetailsEmpty = - Js.String2.length(value) == 0 + String.length(value) == 0 ? `${options.classes.base} ${options.classes.empty} ` : options.classes.base @@ -114,7 +114,7 @@ let make = ( }, (isValid, setIsValid, value, onChange, onBlur))
- Js.String2.length > 0}> + String.length > 0}>
{React.string(fieldName)}
@@ -143,7 +143,7 @@ let make = (
{switch errorString { | Some(val) => - Js.String2.length > 0}> + String.length > 0}>
{React.string(val)}
| None => React.null diff --git a/src/Components/PaymentDropDownField.res b/src/Components/PaymentDropDownField.res index 2174410a..706c3d27 100644 --- a/src/Components/PaymentDropDownField.res +++ b/src/Components/PaymentDropDownField.res @@ -18,7 +18,7 @@ let make = ( let {parentURL} = Recoil.useRecoilValueFromAtom(keys) let getClassName = initialLabel => { - if value.value->Js.String2.length == 0 { + if value.value->String.length == 0 { `${initialLabel}--empty` } else { switch value.isValid { @@ -51,7 +51,7 @@ let make = ( // }) Utils.handleOnFocusPostMessage(~targetOrigin=parentURL, ()) } - let focusClass = if inputFocused || value.value->Js.String2.length > 0 { + let focusClass = if inputFocused || value.value->String.length > 0 { `mb-7 pb-1 pt-2 ${themeObj.fontSizeXs} transition-all ease-in duration-75` } else { "transition-all ease-in duration-75" @@ -76,7 +76,7 @@ let make = ( let cursorClass = !disabled ? "cursor-pointer" : "cursor-not-allowed" Array.length > 0}>
- Js.String2.length > 0 && config.appearance.labels == Above}> + String.length > 0 && config.appearance.labels == Above}>
Js.String2.length > 0 ? "" : themeObj.spacingUnit + inputFocused || value.value->String.length > 0 ? "" : themeObj.spacingUnit }, ~fontSize={ - inputFocused || value.value->Js.String2.length > 0 ? themeObj.fontSizeXs : "" + inputFocused || value.value->String.length > 0 ? themeObj.fontSizeXs : "" }, ~opacity="0.6", (), @@ -139,7 +139,7 @@ let make = ( )}>
- Js.String2.length > 0}> + String.length > 0}>
Js.String2.length > 0 { + let focusClass = if inputFocused || value.value->String.length > 0 { `mb-7 pb-1 pt-2 ${themeObj.fontSizeXs} transition-all ease-in duration-75` } else { "transition-all ease-in duration-75" } let floatinglabelClass = inputFocused ? "Label--floating" : "Label--resting" let getClassName = initialLabel => { - if value.value->Js.String2.length == 0 { + if value.value->String.length == 0 { `${initialLabel}--empty` } else { switch value.isValid { @@ -77,7 +77,7 @@ let make = ( let inputClass = getClassName("Input")
- Js.String2.length > 0 && config.appearance.labels == Above}> + String.length > 0 && config.appearance.labels == Above}>
Js.String2.length > 0 ? "" : themeObj.spacingUnit + inputFocused || value.value->String.length > 0 ? "" : themeObj.spacingUnit }, ~fontSize={ - inputFocused || value.value->Js.String2.length > 0 ? themeObj.fontSizeXs : "" + inputFocused || value.value->String.length > 0 ? themeObj.fontSizeXs : "" }, ~opacity="0.6", (), @@ -134,7 +134,7 @@ let make = (
{rightIcon}
- Js.String2.length > 0}> + String.length > 0}>
Js.String2.length > 0 { + let focusClass = if inputFocused || value->String.length > 0 { `mb-7 pb-1 pt-2 ${themeObj.fontSizeXs} transition-all ease-in duration-75` } else { "transition-all ease-in duration-75" } let floatinglabelClass = inputFocused ? "Label--floating" : "Label--resting" let getClassName = initialLabel => { - if value->Js.String2.length == 0 { + if value->String.length == 0 { `${initialLabel}--empty` } else { switch isValid { @@ -76,7 +76,7 @@ let make = ( let inputClass = getClassName("Input")
- Js.String2.length > 0 && appearance.labels == Above}> + String.length > 0 && appearance.labels == Above}>
Js.String2.length > 0 ? "" : themeObj.spacingUnit + inputFocused || value->String.length > 0 ? "" : themeObj.spacingUnit }, - ~fontSize={inputFocused || value->Js.String2.length > 0 ? themeObj.fontSizeXs : ""}, + ~fontSize={inputFocused || value->String.length > 0 ? themeObj.fontSizeXs : ""}, ~opacity="0.6", (), )}> @@ -132,7 +132,7 @@ let make = (
{switch errorString { | Some(val) => - Js.String2.length > 0}> + String.length > 0}>
{ let formatBSB = bsb => { let formatted = bsb - let secondPart = formatted->Js.String2.sliceToEnd(~from=4)->Js.String2.trim + let secondPart = formatted->String.sliceToEnd(~start=4)->String.trim - if formatted->Js.String2.length <= 4 { + if formatted->String.length <= 4 { "+351 " - } else if formatted->Js.String2.length > 4 { + } else if formatted->String.length > 4 { `+351 ${secondPart}` } else { formatted @@ -24,8 +24,7 @@ let make = () => { } let changePhone = ev => { - let val: string = - ReactEvent.Form.target(ev)["value"]->Js.String2.replaceByRe(%re("/\+D+/g"), "") + let val: string = ReactEvent.Form.target(ev)["value"]->String.replaceRegExp(%re("/\+D+/g"), "") setPhone(.prev => { ...prev, value: val->formatBSB, diff --git a/src/Payment.res b/src/Payment.res index b1cf86ac..9ce38eba 100644 --- a/src/Payment.res +++ b/src/Payment.res @@ -67,7 +67,7 @@ let make = (~paymentMode, ~integrateError, ~logger) => { let cvcLength = obj.maxCVCLenth if ( cvcNumberInRange(cvcNumber, cardBrand)->Array.includes(true) && - cvcNumber->Js.String2.length == cvcLength + cvcNumber->String.length == cvcLength ) { blurRef(cvcRef) } @@ -100,9 +100,9 @@ let make = (~paymentMode, ~integrateError, ~logger) => { if cardValid(clearValue, cardBrand) { handleInputFocus(~currentRef=cardRef, ~destinationRef=expiryRef) } - if card->Js.String2.length > 6 && cardNumber->pincodeVisibility { + if card->String.length > 6 && cardNumber->pincodeVisibility { setDisplayPincode(_ => true) - } else if card->Js.String2.length < 8 { + } else if card->String.length < 8 { setDisplayPincode(_ => false) } setCardNumber(_ => card) @@ -124,7 +124,7 @@ let make = (~paymentMode, ~integrateError, ~logger) => { logInputChangeInfo("cardCVC", logger) let cvc = val->formatCVCNumber(cardBrand) setCvcNumber(_ => cvc) - if cvc->Js.String2.length > 0 && cvcNumberInRange(cvc, cardBrand)->Array.includes(true) { + if cvc->String.length > 0 && cvcNumberInRange(cvc, cardBrand)->Array.includes(true) { zipRef.current->Js.Nullable.toOption->Option.forEach(input => input->focus)->ignore } } @@ -153,7 +153,7 @@ let make = (~paymentMode, ~integrateError, ~logger) => { let cardNumber = ReactEvent.Focus.target(ev)["value"] if cardNumberInRange(cardNumber)->Array.includes(true) && calculateLuhn(cardNumber) { setIsCardValid(_ => Some(true)) - } else if cardNumber->Js.String2.length == 0 { + } else if cardNumber->String.length == 0 { setIsCardValid(_ => None) } else { setIsCardValid(_ => Some(false)) @@ -168,9 +168,9 @@ let make = (~paymentMode, ~integrateError, ~logger) => { let handleExpiryBlur = ev => { let cardExpiry = ReactEvent.Focus.target(ev)["value"] - if cardExpiry->Js.String2.length > 0 && getExpiryValidity(cardExpiry) { + if cardExpiry->String.length > 0 && getExpiryValidity(cardExpiry) { setIsExpiryValid(_ => Some(true)) - } else if cardExpiry->Js.String2.length == 0 { + } else if cardExpiry->String.length == 0 { setIsExpiryValid(_ => None) } else { setIsExpiryValid(_ => Some(false)) @@ -180,11 +180,10 @@ let make = (~paymentMode, ~integrateError, ~logger) => { let handleCVCBlur = ev => { let cvcNumber = ReactEvent.Focus.target(ev)["value"] if ( - cvcNumber->Js.String2.length > 0 && - cvcNumberInRange(cvcNumber, cardBrand)->Array.includes(true) + cvcNumber->String.length > 0 && cvcNumberInRange(cvcNumber, cardBrand)->Array.includes(true) ) { setIsCVCValid(_ => Some(true)) - } else if cvcNumber->Js.String2.length == 0 { + } else if cvcNumber->String.length == 0 { setIsCVCValid(_ => None) } else { setIsCVCValid(_ => Some(false)) @@ -196,7 +195,7 @@ let make = (~paymentMode, ~integrateError, ~logger) => { let regex = postalRegex(postalCodes, ()) if Js.Re.test_(regex->Js.Re.fromString, zipCode) || regex == "" { setIsZipValid(_ => Some(true)) - } else if zipCode->Js.String2.length == 0 { + } else if zipCode->String.length == 0 { setIsZipValid(_ => None) } else { setIsZipValid(_ => Some(false)) diff --git a/src/PaymentElement.res b/src/PaymentElement.res index c0d447dc..90356e63 100644 --- a/src/PaymentElement.res +++ b/src/PaymentElement.res @@ -172,7 +172,7 @@ let make = ( loggerState.setLogInfo( ~value="", ~eventName=PAYMENT_METHOD_CHANGED, - ~paymentMethod=selectedOption->Js.String2.toUpperCase, + ~paymentMethod=selectedOption->String.toUpperCase, (), ) } diff --git a/src/Payments/ACHBankDebit.res b/src/Payments/ACHBankDebit.res index 3f0ccd63..d368b001 100644 --- a/src/Payments/ACHBankDebit.res +++ b/src/Payments/ACHBankDebit.res @@ -96,7 +96,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list)
- Js.String2.length > 0}> + String.length > 0}>
{ - let formatted = sortcode->Js.String2.replaceByRe(%re("/\D+/g"), "") + let formatted = sortcode->String.replaceRegExp(%re("/\D+/g"), "") let firstPart = formatted->CardUtils.slice(0, 2) let secondPart = formatted->CardUtils.slice(2, 4) let thirdpart = formatted->CardUtils.slice(4, 6) - if formatted->Js.String2.length <= 2 { + if formatted->String.length <= 2 { firstPart - } else if formatted->Js.String2.length > 2 && formatted->Js.String2.length <= 4 { + } else if formatted->String.length > 2 && formatted->String.length <= 4 { `${firstPart}-${secondPart}` - } else if formatted->Js.String2.length > 4 && formatted->Js.String2.length <= 6 { + } else if formatted->String.length > 4 && formatted->String.length <= 6 { `${firstPart}-${secondPart}-${thirdpart}` } else { formatted } } -let cleanSortCode = str => str->Js.String2.replaceByRe(%re("/-/g"), "") +let cleanSortCode = str => str->String.replaceRegExp(%re("/-/g"), "") @react.component let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) => { @@ -47,7 +47,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) let complete = email.value != "" && email.isValid->Option.getOr(false) && - sortcode->cleanSortCode->Js.String2.length == 6 && + sortcode->cleanSortCode->String.length == 6 && accountNumber != "" && fullName.value != "" && isAddressComplete(line1, state, city, country, postalCode) && @@ -112,7 +112,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) } let sortcodeBlur = ev => { let val = ReactEvent.Focus.target(ev)["value"]->cleanSortCode - if val->Js.String2.length != 6 && val->Js.String2.length > 0 { + if val->String.length != 6 && val->String.length > 0 { setSortCodeError(_ => "Your sort code is invalid.") } } diff --git a/src/Payments/BankDebitModal.res b/src/Payments/BankDebitModal.res index 513b00f2..fd898b6a 100644 --- a/src/Payments/BankDebitModal.res +++ b/src/Payments/BankDebitModal.res @@ -29,7 +29,7 @@ module CardItem = { module MicroDepositScreen = { @react.component let make = (~showMicroDepScreen, ~accountNum, ~onclick) => { - let last4digits = accountNum->Js.String2.sliceToEnd(~from=-4) + let last4digits = accountNum->String.sliceToEnd(~start=-4)
str->Js.String2.replaceByRe(%re("/\D+/g"), "") +let clearSpaces = str => str->String.replaceRegExp(%re("/\D+/g"), "") @react.component let make = (~setModalData) => { let selectedOption = Recoil.useRecoilValueFromAtom(RecoilAtoms.selectedOptionAtom) @@ -142,7 +142,7 @@ let make = (~setModalData) => { let routingNumber = ReactEvent.Focus.target(ev)["value"] let number = routingNumber->clearSpaces setInputFocus(_ => NONE) - if number->Js.String2.length == 0 { + if number->String.length == 0 { resetReoutingError() } } @@ -151,7 +151,7 @@ let make = (~setModalData) => { let routingNumber = ReactEvent.Form.target(ev)["value"] if ( Utils.validateRountingNumber(routingNumber->clearSpaces) && - routingNumber->clearSpaces->Js.String2.length == 9 + routingNumber->clearSpaces->String.length == 9 ) { setIsRoutingValid(_ => Some(true)) setRoutingError(_ => "") @@ -170,18 +170,18 @@ let make = (~setModalData) => { let val = ReactEvent.Form.target(ev)["value"] setIban(_ => val->Utils.formatIBAN) } - let isSepaDebit = selectedOption->Js.String2.includes("sepa_debit") - let isAchDebit = selectedOption->Js.String2.includes("ach_debit") - let isBecsDebit = selectedOption->Js.String2.includes("becs_debit") + let isSepaDebit = selectedOption->String.includes("sepa_debit") + let isAchDebit = selectedOption->String.includes("ach_debit") + let isBecsDebit = selectedOption->String.includes("becs_debit") let handleAccountHolderNameChange = ev => { let accName = ReactEvent.Form.target(ev)["value"] setAccountHolderName(_ => accName) } let submitActive = - (accountNum->Js.String2.length > 0 && routingNumber->Js.String2.length > 0) || + (accountNum->String.length > 0 && routingNumber->String.length > 0) || iban !== "" || - (accountNum->Js.String2.length > 0 && sortCode->Js.String2.length > 0) + (accountNum->String.length > 0 && sortCode->String.length > 0)
@@ -351,7 +351,7 @@ let make = (~setModalData) => { routingNumber, accountNumber: accountNum, accountHolderName, - accountType: accountType->Js.String2.toLowerCase, + accountType: accountType->String.toLowerCase, iban, sortCode, })) diff --git a/src/Payments/BecsBankDebit.res b/src/Payments/BecsBankDebit.res index ab964e7f..33901853 100644 --- a/src/Payments/BecsBankDebit.res +++ b/src/Payments/BecsBankDebit.res @@ -4,7 +4,7 @@ open Utils @react.component let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) => { - let cleanBSB = str => str->Js.String2.replaceByRe(%re("/-/g"), "") + let cleanBSB = str => str->String.replaceRegExp(%re("/-/g"), "") let loggerState = Recoil.useRecoilValueFromAtom(loggerAtom) let setComplete = Recoil.useSetRecoilState(fieldsComplete) @@ -28,11 +28,10 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) switch modalData { | Some(data: ACHTypes.data) => Js.log2( - data.accountNumber->Js.String2.length == 9 && - data.sortCode->cleanBSB->Js.String2.length == 6, + data.accountNumber->String.length == 9 && data.sortCode->cleanBSB->String.length == 6, "complete", ) - data.accountNumber->Js.String2.length == 9 && data.sortCode->cleanBSB->Js.String2.length == 6 + data.accountNumber->String.length == 9 && data.sortCode->cleanBSB->String.length == 6 | None => false } diff --git a/src/Payments/Boleto.res b/src/Payments/Boleto.res index b8304fd2..a711b2ee 100644 --- a/src/Payments/Boleto.res +++ b/src/Payments/Boleto.res @@ -2,7 +2,7 @@ open RecoilAtoms open Utils let cleanSocialSecurityNumber = socialSecurityNumber => - socialSecurityNumber->Js.String2.replaceByRe(%re("/\D+/g"), "") + socialSecurityNumber->String.replaceRegExp(%re("/\D+/g"), "") let formatSocialSecurityNumber = socialSecurityNumber => { let formatted = socialSecurityNumber->cleanSocialSecurityNumber @@ -11,11 +11,11 @@ let formatSocialSecurityNumber = socialSecurityNumber => { let thirdPart = formatted->CardUtils.slice(6, 9) let fourthPart = formatted->CardUtils.slice(9, 11) - if formatted->Js.String2.length <= 3 { + if formatted->String.length <= 3 { firstPart - } else if formatted->Js.String2.length > 3 && formatted->Js.String2.length <= 6 { + } else if formatted->String.length > 3 && formatted->String.length <= 6 { `${firstPart}.${secondPart}` - } else if formatted->Js.String2.length > 6 && formatted->Js.String2.length <= 9 { + } else if formatted->String.length > 6 && formatted->String.length <= 9 { `${firstPart}.${secondPart}.${thirdPart}` } else { `${firstPart}.${secondPart}.${thirdPart}-${fourthPart}` @@ -39,8 +39,8 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) let (complete, empty) = React.useMemo1(() => { ( - socialSecurityNumber->cleanSocialSecurityNumber->Js.String2.length == 11, - socialSecurityNumber->Js.String2.length == 0, + socialSecurityNumber->cleanSocialSecurityNumber->String.length == 11, + socialSecurityNumber->String.length == 0, ) }, [socialSecurityNumber]) @@ -61,7 +61,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) if confirm.doSubmit { if complete { let body = PaymentBody.boletoBody( - ~socialSecurityNumber=socialSecurityNumber->Js.String2.replaceByRe(%re("/\D+/g"), ""), + ~socialSecurityNumber=socialSecurityNumber->String.replaceRegExp(%re("/\D+/g"), ""), ) intent( ~bodyArr=body, @@ -85,7 +85,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) } let socialSecurityNumberBlur = ev => { let val = ReactEvent.Focus.target(ev)["value"]->cleanSocialSecurityNumber - if val->Js.String2.length != 11 && val->Js.String2.length > 0 { + if val->String.length != 11 && val->String.length > 0 { setSocialSecurityNumberError(_ => "The social security number entered is invalid.") } } diff --git a/src/Payments/Boleto.resi b/src/Payments/Boleto.resi index f7493b29..4c48424c 100644 --- a/src/Payments/Boleto.resi +++ b/src/Payments/Boleto.resi @@ -1,5 +1,5 @@ -let cleanSocialSecurityNumber: Js.String2.t => Js.String2.t -let formatSocialSecurityNumber: Js.String2.t => Js.String2.t +let cleanSocialSecurityNumber: string => string +let formatSocialSecurityNumber: string => string @react.component let make: (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) => React.element let default: props => React.element diff --git a/src/Payments/PaymentMethodsWrapper.res b/src/Payments/PaymentMethodsWrapper.res index 54c64013..354defdf 100644 --- a/src/Payments/PaymentMethodsWrapper.res +++ b/src/Payments/PaymentMethodsWrapper.res @@ -36,8 +36,8 @@ let make = ( let (country, _) = Recoil.useRecoilState(userCountry) let (selectedBank, _) = Recoil.useRecoilState(userBank) let setFieldComplete = Recoil.useSetRecoilState(fieldsComplete) - let cleanBlik = str => str->Js.String2.replaceByRe(%re("/-/g"), "") - let cleanPhoneNumber = str => str->Js.String2.replaceByRe(%re("/\s/g"), "") + let cleanBlik = str => str->String.replaceRegExp(%re("/-/g"), "") + let cleanPhoneNumber = str => str->String.replaceRegExp(%re("/\s/g"), "") let (requiredFieldsBody, setRequiredFieldsBody) = React.useState(_ => Dict.make()) let areRequiredFieldsValid = Recoil.useRecoilValueFromAtom(RecoilAtoms.areRequiredFieldsValid) diff --git a/src/Payments/QRCodeDisplay.res b/src/Payments/QRCodeDisplay.res index 1295452c..e14045ec 100644 --- a/src/Payments/QRCodeDisplay.res +++ b/src/Payments/QRCodeDisplay.res @@ -123,8 +123,8 @@ let make = () => { let expiryString = React.useMemo1(() => { let minutes = (expiryTime /. 60000.0)->Belt.Float.toInt->Belt.Int.toString let seconds = - mod(expiryTime->Belt.Float.toInt, 60000)->Belt.Int.toString->Js.String2.slice(~from=0, ~to_=2) - let seconds = seconds->Js.String2.length == 1 ? `${seconds}0` : seconds + mod(expiryTime->Belt.Float.toInt, 60000)->Belt.Int.toString->String.slice(~start=0, ~end=2) + let seconds = seconds->String.length == 1 ? `${seconds}0` : seconds `${minutes}:${seconds}` }, [expiryTime]) diff --git a/src/SingleLineCardPayment.res b/src/SingleLineCardPayment.res index 6fe03634..8de6123c 100644 --- a/src/SingleLineCardPayment.res +++ b/src/SingleLineCardPayment.res @@ -70,7 +70,7 @@ let make = ( () => displayPincode ? ("block", "animate-slideLeft") : ("none", "animate-slideRight "), [displayPincode], ) - let checkLengthIsZero = item => Js.String2.length(item) == 0 + let checkLengthIsZero = item => String.length(item) == 0 let checkValueIsValid = item => item == "valid" let checkValueIsInvalid = item => item == "invalid" diff --git a/src/Types/GooglePayType.res b/src/Types/GooglePayType.res index 2f655b31..2df75884 100644 --- a/src/Types/GooglePayType.res +++ b/src/Types/GooglePayType.res @@ -24,9 +24,9 @@ type document @val external document: document = "document" @send external getElementById: (document, string) => element = "getElementById" type client = { - isReadyToPay: (. JSON.t) => Js.Promise.t, + isReadyToPay: (. JSON.t) => Promise.t, createButton: (. JSON.t) => Dom.element, - loadPaymentData: (. JSON.t) => Js.Promise.t, + loadPaymentData: (. JSON.t) => Promise.t, } @new external google: JSON.t => client = "google.payments.api.PaymentsClient" let getLabel = (var: PaymentType.googlePayStyleType) => { diff --git a/src/Utilities/ApiEndpoint.res b/src/Utilities/ApiEndpoint.res index d594d39f..effeb52e 100644 --- a/src/Utilities/ApiEndpoint.res +++ b/src/Utilities/ApiEndpoint.res @@ -9,7 +9,7 @@ let setApiEndPoint = str => { } let getApiEndPoint = (~publishableKey="", ~isConfirmCall=false, ()) => { - let testMode = publishableKey->Js.String2.startsWith("pk_snd_") + let testMode = publishableKey->String.startsWith("pk_snd_") switch apiEndPoint.contents { | Some(str) => str | None => diff --git a/src/Utilities/DynamicFieldsUtils.res b/src/Utilities/DynamicFieldsUtils.res index 5bab3854..6af7ea49 100644 --- a/src/Utilities/DynamicFieldsUtils.res +++ b/src/Utilities/DynamicFieldsUtils.res @@ -1,6 +1,6 @@ let getName = (item: PaymentMethodsRecord.required_fields, field: RecoilAtomTypes.field) => { - let fieldNameArr = field.value->Js.String2.split(" ") - let requiredFieldsArr = item.required_field->Js.String2.split(".") + let fieldNameArr = field.value->String.split(" ") + let requiredFieldsArr = item.required_field->String.split(".") switch requiredFieldsArr ->Belt.Array.get(requiredFieldsArr->Belt.Array.length - 1) ->Option.getOr("") { @@ -84,8 +84,8 @@ let checkIfNameIsValid = ( requiredFieldsType ->Array.filter(required_field => required_field.field_type === paymentMethodFields) ->Array.reduce(true, (acc, item) => { - let fieldNameArr = field.value->Js.String2.split(" ") - let requiredFieldsArr = item.required_field->Js.String2.split(".") + let fieldNameArr = field.value->String.split(" ") + let requiredFieldsArr = item.required_field->String.split(".") let fieldValue = switch requiredFieldsArr ->Belt.Array.get(requiredFieldsArr->Belt.Array.length - 1) ->Option.getOr("") { @@ -283,16 +283,16 @@ let useSetInitialRequiredFields = ( requiredFields ->Array.filter(requiredFields => requiredFields.field_type === item.field_type) ->Array.reduce("", (acc, item) => { - let requiredFieldsArr = item.required_field->Js.String2.split(".") + let requiredFieldsArr = item.required_field->String.split(".") switch requiredFieldsArr ->Belt.Array.get(requiredFieldsArr->Belt.Array.length - 1) ->Option.getOr("") { - | "first_name" => item.value->Js.String2.concat(acc) - | "last_name" => acc->Js.String2.concatMany([" ", item.value]) + | "first_name" => item.value->String.concat(acc) + | "last_name" => acc->String.concatMany([" ", item.value]) | _ => acc } }) - ->Js.String2.trim + ->String.trim } let setFields = ( @@ -457,7 +457,7 @@ let useRequiredFieldsBody = ( billingAddressFields->Array.reduce(requiredFieldsBody, (acc, item) => { let value = item->getFieldValueFromFieldType if item === BillingName { - let arr = value->Js.String2.split(" ") + let arr = value->String.split(" ") acc->Dict.set( "billing.address.first_name", arr->Belt.Array.get(0)->Option.getOr("")->JSON.Encode.string, diff --git a/src/Utilities/LazyUtils.res b/src/Utilities/LazyUtils.res index 9a234df8..c9eb8f4e 100644 --- a/src/Utilities/LazyUtils.res +++ b/src/Utilities/LazyUtils.res @@ -1,9 +1,9 @@ type lazyScreen -type lazyScreenLoader = unit => Js.Promise.t +type lazyScreenLoader = unit => Promise.t @val -external import_: string => Js.Promise.t = "import" +external import_: string => Promise.t = "import" type reactLazy<'component> = (. lazyScreenLoader) => 'component diff --git a/src/Utilities/PaymentHelpers.res b/src/Utilities/PaymentHelpers.res index 055ead3f..68bf096a 100644 --- a/src/Utilities/PaymentHelpers.res +++ b/src/Utilities/PaymentHelpers.res @@ -14,7 +14,7 @@ let closePaymentLoaderIfAny = () => let retrievePaymentIntent = (clientSecret, headers, ~optLogger, ~switchToCustomPod) => { open Promise - let paymentIntentID = Js.String2.split(clientSecret, "_secret_")[0]->Option.getOr("") + let paymentIntentID = String.split(clientSecret, "_secret_")[0]->Option.getOr("") let endpoint = ApiEndpoint.getApiEndPoint() let uri = `${endpoint}/payments/${paymentIntentID}?client_secret=${clientSecret}` @@ -35,7 +35,7 @@ let retrievePaymentIntent = (clientSecret, headers, ~optLogger, ~switchToCustomP ) ->then(res => { let statusCode = res->Fetch.Response.status->string_of_int - if statusCode->Js.String2.charAt(0) !== "2" { + if statusCode->String.charAt(0) !== "2" { res ->Fetch.Response.json ->then(data => { @@ -117,7 +117,7 @@ let rec intentCall = ( ~counter, ) => { open Promise - let isConfirm = uri->Js.String2.includes("/confirm") + let isConfirm = uri->String.includes("/confirm") let (eventName: OrcaLogger.eventName, initEventName: OrcaLogger.eventName) = isConfirm ? (CONFIRM_CALL, CONFIRM_CALL_INIT) : (RETRIEVE_CALL, RETRIEVE_CALL_INIT) @@ -143,7 +143,7 @@ let rec intentCall = ( url.searchParams.set(. "payment_intent_client_secret", clientSecret) url.searchParams.set(. "status", "failed") - if statusCode->Js.String2.charAt(0) !== "2" { + if statusCode->String.charAt(0) !== "2" { res ->Fetch.Response.json ->then(data => { @@ -206,7 +206,7 @@ let rec intentCall = ( } } else { let paymentIntentID = - Js.String2.split(clientSecret, "_secret_")->Belt.Array.get(0)->Option.getOr("") + String.split(clientSecret, "_secret_")->Belt.Array.get(0)->Option.getOr("") let endpoint = ApiEndpoint.getApiEndPoint(~publishableKey=confirmParam.publishableKey, ()) let retrieveUri = `${endpoint}/payments/${paymentIntentID}?client_secret=${clientSecret}` intentCall( @@ -364,7 +364,7 @@ let rec intentCall = ( ~errortype="confirm_payment_failed", ~message="Payment failed. Try again!", ) - if uri->Js.String2.includes("force_sync=true") { + if uri->String.includes("force_sync=true") { handleLogging( ~optLogger, ~value=intent.nextAction.type_, @@ -468,7 +468,7 @@ let rec intentCall = ( } } else { let paymentIntentID = - Js.String2.split(clientSecret, "_secret_")->Belt.Array.get(0)->Option.getOr("") + String.split(clientSecret, "_secret_")->Belt.Array.get(0)->Option.getOr("") let endpoint = ApiEndpoint.getApiEndPoint(~publishableKey=confirmParam.publishableKey, ()) let retrieveUri = `${endpoint}/payments/${paymentIntentID}?client_secret=${clientSecret}` intentCall( @@ -502,7 +502,7 @@ let usePaymentSync = (optLogger: option, paymentType: pay (~handleUserError=false, ~confirmParam: ConfirmType.confirmParams, ~iframeId="", ()) => { switch keys.clientSecret { | Some(clientSecret) => - let paymentIntentID = Js.String2.split(clientSecret, "_secret_")[0]->Option.getOr("") + let paymentIntentID = String.split(clientSecret, "_secret_")[0]->Option.getOr("") let headers = [("Content-Type", "application/json"), ("api-key", confirmParam.publishableKey)] let endpoint = ApiEndpoint.getApiEndPoint(~publishableKey=confirmParam.publishableKey, ()) let uri = `${endpoint}/payments/${paymentIntentID}?force_sync=true&client_secret=${clientSecret}` @@ -562,7 +562,7 @@ let rec maskPayload = payloadDict => { value ->JSON.Decode.string ->Option.getOr("") - ->Js.String2.replaceByRe(%re(`/\S/g`), "x") + ->String.replaceRegExp(%re(`/\S/g`), "x") ->JSON.Encode.string, ) } @@ -588,7 +588,7 @@ let usePaymentIntent = (optLogger: option, paymentType: p ) => { switch keys.clientSecret { | Some(clientSecret) => - let paymentIntentID = Js.String2.split(clientSecret, "_secret_")[0]->Option.getOr("") + let paymentIntentID = String.split(clientSecret, "_secret_")[0]->Option.getOr("") let headers = [("Content-Type", "application/json"), ("api-key", confirmParam.publishableKey)] let returnUrlArr = [("return_url", confirmParam.return_url->JSON.Encode.string)] let manual_retry = isManualRetryEnabled @@ -742,8 +742,7 @@ let useSessions = ( ) => { open Promise let headers = [("Content-Type", "application/json"), ("api-key", publishableKey)] - let paymentIntentID = - Js.String2.split(clientSecret, "_secret_")->Belt.Array.get(0)->Option.getOr("") + let paymentIntentID = String.split(clientSecret, "_secret_")->Belt.Array.get(0)->Option.getOr("") let body = [ ("payment_id", paymentIntentID->JSON.Encode.string), @@ -772,7 +771,7 @@ let useSessions = ( ) ->then(resp => { let statusCode = resp->Fetch.Response.status->string_of_int - if statusCode->Js.String2.charAt(0) !== "2" { + if statusCode->String.charAt(0) !== "2" { resp ->Fetch.Response.json ->then(data => { @@ -846,7 +845,7 @@ let usePaymentMethodList = ( ) ->then(resp => { let statusCode = resp->Fetch.Response.status->string_of_int - if statusCode->Js.String2.charAt(0) !== "2" { + if statusCode->String.charAt(0) !== "2" { resp ->Fetch.Response.json ->then(data => { @@ -920,7 +919,7 @@ let useCustomerDetails = ( ) ->then(res => { let statusCode = res->Fetch.Response.status->string_of_int - if statusCode->Js.String2.charAt(0) !== "2" { + if statusCode->String.charAt(0) !== "2" { res ->Fetch.Response.json ->then(data => { diff --git a/src/Utilities/PaymentUtils.res b/src/Utilities/PaymentUtils.res index b468851e..6ac10675 100644 --- a/src/Utilities/PaymentUtils.res +++ b/src/Utilities/PaymentUtils.res @@ -201,7 +201,7 @@ let getDisplayNameAndIcon = ( switch val.aliasName { | "" => (defaultName, defaultIcon) | aliasName => - let id = aliasName->Js.String2.split(" ") + let id = aliasName->String.split(" ") ( aliasName, Some(PaymentMethodsRecord.icon(id->Belt.Array.get(0)->Option.getOr(""), ~size=19)), @@ -215,9 +215,9 @@ let getDisplayNameAndIcon = ( let getPaymentMethodName = (~paymentMethodType, ~paymentMethodName) => { if paymentMethodType == "bank_debit" { - paymentMethodName->Js.String2.replace("_debit", "") + paymentMethodName->String.replace("_debit", "") } else if paymentMethodType == "bank_transfer" { - paymentMethodName->Js.String2.replace("_transfer", "") + paymentMethodName->String.replace("_transfer", "") } else { paymentMethodName } diff --git a/src/Utilities/Utils.res b/src/Utilities/Utils.res index 7d7302aa..55f31175 100644 --- a/src/Utilities/Utils.res +++ b/src/Utilities/Utils.res @@ -180,10 +180,10 @@ let getBoolValue = val => val->Option.getOr(false) let toKebabCase = str => { str - ->Js.String2.split("") + ->String.split("") ->Array.mapWithIndex((item, i) => { - if item->Js.String2.toUpperCase === item { - `${i != 0 ? "-" : ""}${item->Js.String2.toLowerCase}` + if item->String.toUpperCase === item { + `${i != 0 ? "-" : ""}${item->String.toLowerCase}` } else { item } @@ -269,20 +269,20 @@ let postSubmitResponse = (~jsonData, ~url) => { } let toCamelCase = str => { - if str->Js.String2.includes(":") { + if str->String.includes(":") { str } else { str - ->Js.String2.toLowerCase + ->String.toLowerCase ->Js.String2.unsafeReplaceBy0(%re(`/([-_][a-z])/g`), (letter, _, _) => { - letter->Js.String2.toUpperCase + letter->String.toUpperCase }) - ->Js.String2.replaceByRe(%re(`/[^a-zA-Z]/g`), "") + ->String.replaceRegExp(%re(`/[^a-zA-Z]/g`), "") } } let toSnakeCase = str => { str->Js.String2.unsafeReplaceBy0(%re("/[A-Z]/g"), (letter, _, _) => - `_${letter->Js.String2.toLowerCase}` + `_${letter->String.toLowerCase}` ) } type case = CamelCase | SnakeCase | KebabCase @@ -344,13 +344,13 @@ let removeDuplicate = arr => { } let isEmailValid = email => { - switch email->Js.String2.match_( + switch email->String.match( %re( "/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/" ), ) { | Some(_match) => Some(true) - | None => email->Js.String2.length > 0 ? Some(false) : None + | None => email->String.length > 0 ? Some(false) : None } } @@ -358,7 +358,7 @@ let checkEmailValid = ( email: RecoilAtomTypes.field, fn: (. RecoilAtomTypes.field => RecoilAtomTypes.field) => unit, ) => { - switch email.value->Js.String2.match_( + switch email.value->String.match( %re( "/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/" ), @@ -369,7 +369,7 @@ let checkEmailValid = ( isValid: Some(true), }) | None => - email.value->Js.String2.length > 0 + email.value->String.length > 0 ? fn(.prev => { ...prev, isValid: Some(false), @@ -467,12 +467,12 @@ let constructClass = (~classname, ~dict) => { ->Array.map(entry => { let (key, value) = entry - let class = if !(key->Js.String2.startsWith(":")) && !(key->Js.String2.startsWith(".")) { + let class = if !(key->String.startsWith(":")) && !(key->String.startsWith(".")) { switch value->JSON.Decode.string { | Some(str) => `${key->toKebabCase}:${str}` | None => "" } - } else if key->Js.String2.startsWith(":") { + } else if key->String.startsWith(":") { switch value->JSON.Decode.object { | Some(obj) => let style = @@ -489,7 +489,7 @@ let constructClass = (~classname, ~dict) => { | None => "" } - } else if key->Js.String2.startsWith(".") { + } else if key->String.startsWith(".") { switch value->JSON.Decode.object { | Some(obj) => let style = @@ -510,15 +510,15 @@ let constructClass = (~classname, ~dict) => { "" } - if !(key->Js.String2.startsWith(":")) && !(key->Js.String2.startsWith(".")) { + if !(key->String.startsWith(":")) && !(key->String.startsWith(".")) { modifiedArr->Array.push(class)->ignore - } else if key->Js.String2.startsWith(":") || key->Js.String2.startsWith(".") { + } else if key->String.startsWith(":") || key->String.startsWith(".") { puseduoArr->Array.push(class)->ignore } }) ->ignore - if classname->Js.String2.length == 0 { + if classname->String.length == 0 { `${modifiedArr->Array.joinWith(";")} ${puseduoArr->Array.joinWith(" ")}` } else { `.${classname} {${modifiedArr->Array.joinWith(";")}} ${puseduoArr->Array.joinWith(" ")}` @@ -583,11 +583,11 @@ let addSize = (str: string, value: float, unit: sizeunit) => { } } let unitInString = getUnit(unit) - if str->Js.String2.endsWith(unitInString) { - let arr = str->Js.String2.split("") + if str->String.endsWith(unitInString) { + let arr = str->String.split("") let val = arr - ->Array.slice(~start=0, ~end={arr->Array.length - unitInString->Js.String2.length}) + ->Array.slice(~start=0, ~end={arr->Array.length - unitInString->String.length}) ->Array.joinWith("") ->Belt.Float.fromString ->Option.getOr(0.0) @@ -599,14 +599,14 @@ let addSize = (str: string, value: float, unit: sizeunit) => { let toInt = val => val->Belt.Int.fromString->Option.getOr(0) let validateRountingNumber = str => { - if str->Js.String2.length != 9 { + if str->String.length != 9 { false } else { let firstWeight = 3 let weights = [firstWeight, 7, 1, 3, 7, 1, 3, 7, 1] let sum = str - ->Js.String2.split("") + ->String.split("") ->Array.mapWithIndex((item, i) => item->toInt * weights[i]->Option.getOr(firstWeight)) ->Array.reduce(0, (acc, val) => { acc + val @@ -637,7 +637,7 @@ let handlePostMessageEvents = ( ]) } -let onlyDigits = str => str->Js.String2.replaceByRe(%re(`/\D/g`), "") +let onlyDigits = str => str->String.replaceRegExp(%re(`/\D/g`), "") let getCountryCode = country => { Country.country @@ -688,10 +688,10 @@ let deepCopyDict = dict => { } let snakeToTitleCase = str => { - let words = str->Js.String2.split("_") + let words = str->String.split("_") words ->Array.map(item => { - item->Js.String2.charAt(0)->Js.String2.toUpperCase ++ item->Js.String2.sliceToEnd(~from=1) + item->String.charAt(0)->String.toUpperCase ++ item->String.sliceToEnd(~start=1) }) ->Array.joinWith(" ") } @@ -701,26 +701,26 @@ let logInfo = log => { } let formatIBAN = iban => { - let formatted = iban->Js.String2.replaceByRe(%re(`/[^a-zA-Z0-9]/g`), "") - let countryCode = formatted->Js.String2.substring(~from=0, ~to_=2)->Js.String2.toUpperCase - let codeLastTwo = formatted->Js.String2.substring(~from=2, ~to_=4) - let remaining = formatted->Js.String2.substr(~from=4) + let formatted = iban->String.replaceRegExp(%re(`/[^a-zA-Z0-9]/g`), "") + let countryCode = formatted->String.substring(~start=0, ~end=2)->String.toUpperCase + let codeLastTwo = formatted->String.substring(~start=2, ~end=4) + let remaining = formatted->String.substringToEnd(~start=4) - let chunks = switch remaining->Js.String2.match_(%re(`/(.{1,4})/g`)) { + let chunks = switch remaining->String.match(%re(`/(.{1,4})/g`)) { | Some(matches) => matches | None => [] } - `${countryCode}${codeLastTwo} ${chunks->Js.Array2.joinWith(" ")}`->Js.String2.trim + `${countryCode}${codeLastTwo} ${chunks->Js.Array2.joinWith(" ")}`->String.trim } let formatBSB = bsb => { - let formatted = bsb->Js.String2.replaceByRe(%re("/\D+/g"), "") - let firstPart = formatted->Js.String2.substring(~from=0, ~to_=3) - let secondPart = formatted->Js.String2.substring(~from=3, ~to_=6) + let formatted = bsb->String.replaceRegExp(%re("/\D+/g"), "") + let firstPart = formatted->String.substring(~start=0, ~end=3) + let secondPart = formatted->String.substring(~start=3, ~end=6) - if formatted->Js.String2.length <= 3 { + if formatted->String.length <= 3 { firstPart - } else if formatted->Js.String2.length > 3 && formatted->Js.String2.length <= 6 { + } else if formatted->String.length > 3 && formatted->String.length <= 6 { `${firstPart}-${secondPart}` } else { formatted @@ -732,13 +732,12 @@ let getDictIsSome = (dict, key) => { } let rgbaTorgb = bgColor => { - let cleanBgColor = bgColor->Js.String2.trim - if cleanBgColor->Js.String2.startsWith("rgba") || cleanBgColor->Js.String2.startsWith("rgb") { - let start = cleanBgColor->Js.String2.indexOf("(") - let end = cleanBgColor->Js.String2.indexOf(")") + let cleanBgColor = bgColor->String.trim + if cleanBgColor->String.startsWith("rgba") || cleanBgColor->String.startsWith("rgb") { + let start = cleanBgColor->String.indexOf("(") + let end = cleanBgColor->String.indexOf(")") - let colorArr = - cleanBgColor->Js.String2.substring(~from=start + 1, ~to_=end)->Js.String2.split(",") + let colorArr = cleanBgColor->String.substring(~start=start + 1, ~end)->String.split(",") if colorArr->Array.length === 3 { cleanBgColor } else { diff --git a/src/libraries/Promise.res b/src/libraries/Promise.res index 08c4a5f8..3c067174 100644 --- a/src/libraries/Promise.res +++ b/src/libraries/Promise.res @@ -1,4 +1,4 @@ -type t<+'a> = Js.Promise.t<'a> +type t<+'a> = Promise.t<'a> exception JsError(Js.Exn.t) external unsafeToJsExn: exn => Js.Exn.t = "%identity" diff --git a/src/libraries/Promise.resi b/src/libraries/Promise.resi index 72a1e89f..b279c718 100644 --- a/src/libraries/Promise.resi +++ b/src/libraries/Promise.resi @@ -6,7 +6,7 @@ // // More details about polymorphism / invariance / covariance,... can be found here: // https://caml.inria.fr/pub/docs/manual-ocaml/polymorphism.html#ss:variance:abstract-data-types -type t<+'a> = Js.Promise.t<'a> +type t<+'a> = Promise.t<'a> // JsError is currently a shim exception and will be deprecated for // ReScript version >= 9.0. diff --git a/src/orca-loader/Elements.res b/src/orca-loader/Elements.res index e40f2223..232d8d50 100644 --- a/src/orca-loader/Elements.res +++ b/src/orca-loader/Elements.res @@ -103,7 +103,7 @@ let make = ( Window.querySelectorAll(`script[src="https://test-tpgw.trustpay.eu/js/v1.js"]`)->Array.length === 0 ) { let trustPayScriptURL = - publishableKey->Js.String2.startsWith("pk_prd_") + publishableKey->String.startsWith("pk_prd_") ? "https://tpgw.trustpay.eu/js/v1.js" : "https://test-tpgw.trustpay.eu/js/v1.js" let trustPayScript = Window.createElement("script") @@ -288,9 +288,7 @@ let make = ( let baseDetails = { "apiVersion": 2, "apiVersionMinor": 0, - "environment": publishableKey->Js.String2.startsWith("pk_prd_") - ? "PRODUCTION" - : "TEST", + "environment": publishableKey->String.startsWith("pk_prd_") ? "PRODUCTION" : "TEST", } let paymentDataRequest = GooglePayType.assign2( @@ -627,7 +625,7 @@ let make = ( try { let gPayClient = GooglePayType.google( { - "environment": publishableKey->Js.String2.startsWith("pk_prd_") + "environment": publishableKey->String.startsWith("pk_prd_") ? "PRODUCTION" : "TEST", }->toJson, diff --git a/src/orca-loader/Hyper.res b/src/orca-loader/Hyper.res index 2763d687..cedd7f8a 100644 --- a/src/orca-loader/Hyper.res +++ b/src/orca-loader/Hyper.res @@ -138,8 +138,8 @@ let make = (publishableKey, options: option, analyticsInfo: optionJs.String2.startsWith("pk_snd_") || - publishableKey->Js.String2.startsWith("pk_prd_") + publishableKey->String.startsWith("pk_snd_") || + publishableKey->String.startsWith("pk_prd_") ) ) { manageErrorWarning(INVALID_PK, (), ~logger) @@ -184,7 +184,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionOption.getOr("") + let paymentIntentID = String.split(clientSecret, "_secret_")[0]->Option.getOr("") let retrievePaymentUrl = `${endpoint}/payments/${paymentIntentID}?client_secret=${clientSecret}` open Promise logApi( diff --git a/src/orca-loader/HyperLoader.res b/src/orca-loader/HyperLoader.res index c270dfa7..2de2c640 100644 --- a/src/orca-loader/HyperLoader.res +++ b/src/orca-loader/HyperLoader.res @@ -1,5 +1,5 @@ let loadHyper = (str, option) => { - Js.Promise.resolve(Hyper.make(str, option)) + Promise.resolve(Hyper.make(str, option)) } let loadStripe = (str, option) => { diff --git a/src/orca-loader/LoaderPaymentElement.res b/src/orca-loader/LoaderPaymentElement.res index 47e0516c..6b4d6632 100644 --- a/src/orca-loader/LoaderPaymentElement.res +++ b/src/orca-loader/LoaderPaymentElement.res @@ -10,7 +10,7 @@ type location = {replace: (. string) => unit} @val @scope("window") external location: location = "location" @val @scope(("navigator", "clipboard")) -external writeText: string => Js.Promise.t<'a> = "writeText" +external writeText: string => Promise.t<'a> = "writeText" let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) => { try { @@ -155,7 +155,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let mount = selector => { mountId := selector - let localSelectorArr = selector->Js.String2.split("#") + let localSelectorArr = selector->String.split("#") let localSelectorString = localSelectorArr->Belt.Array.get(1)->Option.getOr("someString") let iframeHeightRef = ref(25.0) let currentClass = ref("base") diff --git a/src/orca-loader/Types.res b/src/orca-loader/Types.res index ac02b723..ae46e8f0 100644 --- a/src/orca-loader/Types.res +++ b/src/orca-loader/Types.res @@ -13,7 +13,7 @@ type eventData = { type event = {key: string, data: eventData} type eventParam = Event(event) | EventData(eventData) | Empty type eventHandler = option => unit -@send external onload: (Dom.element, unit => Js.Promise.t<'a>) => Js.Promise.t<'a> = "onload" +@send external onload: (Dom.element, unit => Promise.t<'a>) => Promise.t<'a> = "onload" module This = { type t @get @@ -35,7 +35,7 @@ type paymentElement = { type element = { getElement: string => option, update: JSON.t => unit, - fetchUpdates: unit => Js.Promise.t, + fetchUpdates: unit => Promise.t, create: (string, JSON.t) => paymentElement, } @@ -47,32 +47,32 @@ type confirmPaymentParams = { } type hyperInstance = { - confirmOneClickPayment: (JSON.t, bool) => Js.Promise.t, - confirmPayment: JSON.t => Js.Promise.t, + confirmOneClickPayment: (JSON.t, bool) => Promise.t, + confirmPayment: JSON.t => Promise.t, elements: JSON.t => element, confirmCardPayment: Js_OO.Callback.arity4< - (This.t, string, option, option) => Js.Promise.t, + (This.t, string, option, option) => Promise.t, >, - retrievePaymentIntent: string => Js.Promise.t, + retrievePaymentIntent: string => Promise.t, widgets: JSON.t => element, paymentRequest: JSON.t => JSON.t, } let oneClickConfirmPaymentFn = (_, _) => { - Js.Promise.resolve(Dict.make()->JSON.Encode.object) + Promise.resolve(Dict.make()->JSON.Encode.object) } let confirmPaymentFn = (_elements: JSON.t) => { - Js.Promise.resolve(Dict.make()->JSON.Encode.object) + Promise.resolve(Dict.make()->JSON.Encode.object) } let confirmCardPaymentFn = @this (_this: This.t, _clientSecretId: string, _data: option, _options: option) => { - Js.Promise.resolve(Dict.make()->JSON.Encode.object) + Promise.resolve(Dict.make()->JSON.Encode.object) } let retrievePaymentIntentFn = _paymentIntentId => { - Js.Promise.resolve(Dict.make()->JSON.Encode.object) + Promise.resolve(Dict.make()->JSON.Encode.object) } let update = _options => { () diff --git a/src/orca-log-catcher/OrcaLogger.res b/src/orca-log-catcher/OrcaLogger.res index 03fe8e2a..da3334c4 100644 --- a/src/orca-log-catcher/OrcaLogger.res +++ b/src/orca-log-catcher/OrcaLogger.res @@ -117,7 +117,7 @@ let eventNameToStrMapper = eventName => { } let convertToScreamingSnakeCase = text => { - text->Js.String2.trim->Js.String2.replaceByRe(%re("/ /g"), "_")->Js.String2.toUpperCase + text->String.trim->String.replaceRegExp(%re("/ /g"), "_")->String.toUpperCase } type maskableDetails = Email | CardDetails @@ -383,7 +383,7 @@ let browserDetect = content => { } } -let arrayOfNameAndVersion = Js.String2.split(Window.userAgent->browserDetect, "-") +let arrayOfNameAndVersion = String.split(Window.userAgent->browserDetect, "-") let make = ( ~sessionId=?, @@ -575,7 +575,7 @@ let make = ( value, internalMetadata, category: logCategory, - paymentId: Js.String2.split(clientSecret.contents, "_secret_") + paymentId: String.split(clientSecret.contents, "_secret_") ->Belt.Array.get(0) ->Option.getOr(""), merchantId: merchantId.contents, @@ -633,7 +633,7 @@ let make = ( | StringValue(a) => a }, category: logCategory, - paymentId: Js.String2.split(clientSecret.contents, "_secret_") + paymentId: String.split(clientSecret.contents, "_secret_") ->Belt.Array.get(0) ->Option.getOr(""), merchantId: merchantId.contents, @@ -678,7 +678,7 @@ let make = ( value, internalMetadata, category: logCategory, - paymentId: Js.String2.split(clientSecret.contents, "_secret_") + paymentId: String.split(clientSecret.contents, "_secret_") ->Belt.Array.get(0) ->Option.getOr(""), merchantId: merchantId.contents, @@ -714,7 +714,7 @@ let make = ( category: USER_EVENT, value: "log initiated", internalMetadata: "", - paymentId: Js.String2.split(clientSecret.contents, "_secret_") + paymentId: String.split(clientSecret.contents, "_secret_") ->Belt.Array.get(0) ->Option.getOr(""), merchantId: merchantId.contents, From d4a79c091ddd8c2e25c4765ad20e84b20d284408 Mon Sep 17 00:00:00 2001 From: Pritish Budhiraja <1805317@kiit.ac.in> Date: Thu, 7 Mar 2024 13:29:58 +0530 Subject: [PATCH 09/17] refactor: nullable core changes --- src/CardPattern.res | 2 +- src/CardUtils.res | 30 +++++++++++----------- src/Components/AddBankAccount.res | 2 +- src/Components/AddressPaymentInput.res | 8 +++--- src/Components/BillingNamePaymentInput.res | 2 +- src/Components/BlikCodePaymentInput.res | 2 +- src/Components/DropdownField.res | 2 +- src/Components/DynamicFields.res | 8 +++--- src/Components/EmailPaymentInput.res | 2 +- src/Components/FullNamePaymentInput.res | 2 +- src/Components/FullScreenPortal.res | 6 ++--- src/Components/PaymentDropDownField.res | 2 +- src/Components/PhoneNumberPaymentInput.res | 2 +- src/Components/PortalCapture.res | 4 +-- src/Components/SavedCardItem.res | 4 +-- src/Hooks/CommonHooks.res | 4 +-- src/Hooks/OutsideClick.res | 18 ++++++------- src/LoaderController.res | 4 +-- src/Payment.res | 12 ++++----- src/PaymentOptions.res | 6 ++--- src/Payments/ACHBankDebit.res | 2 +- src/Payments/BacsBankDebit.res | 4 +-- src/Payments/BankDebitModal.res | 12 ++++----- src/Payments/Boleto.res | 2 +- src/Payments/PaypalSDK.res | 8 +++--- src/Payments/QRCodeDisplay.res | 4 +-- src/Payments/VoucherDisplay.res | 4 +-- src/RenderPaymentMethods.res | 10 +++++--- src/Types/ApplePayTypes.res | 2 +- src/Types/PaypalSDKTypes.res | 2 +- src/Utilities/Utils.res | 2 +- src/Window.res | 8 +++--- src/orca-loader/Elements.res | 12 ++++----- src/orca-loader/Hyper.res | 4 +-- src/orca-loader/LoaderPaymentElement.res | 12 ++++----- src/orca-loader/OrcaUtils.res | 2 +- src/orca-loader/Types.res | 2 +- src/orca-log-catcher/ErrorBoundary.res | 4 +-- src/orca-log-catcher/OrcaLogger.res | 24 ++++++++--------- src/orca-log-catcher/Sentry.res | 8 +++--- 40 files changed, 126 insertions(+), 124 deletions(-) diff --git a/src/CardPattern.res b/src/CardPattern.res index cecf56f7..08c3cb63 100644 --- a/src/CardPattern.res +++ b/src/CardPattern.res @@ -1,6 +1,6 @@ type patterns = { issuer: string, - pattern: Js.Re.t, + pattern: Re.t, cvcLength: array, length: array, maxCVCLenth: int, diff --git a/src/CardUtils.res b/src/CardUtils.res index f7d3273c..92f64408 100644 --- a/src/CardUtils.res +++ b/src/CardUtils.res @@ -20,7 +20,7 @@ type cardProps = ( string, JsxEvent.Form.t => unit, JsxEvent.Focus.t => unit, - React.ref>, + React.ref>, React.element, string, (string => string) => unit, @@ -33,7 +33,7 @@ type expiryProps = ( string, JsxEvent.Form.t => unit, JsxEvent.Focus.t => unit, - React.ref>, + React.ref>, ReactEvent.Keyboard.t => unit, string, (string => string) => unit, @@ -46,7 +46,7 @@ type cvcProps = ( (string => string) => unit, JsxEvent.Form.t => unit, JsxEvent.Focus.t => unit, - React.ref>, + React.ref>, ReactEvent.Keyboard.t => unit, string, (string => string) => unit, @@ -57,7 +57,7 @@ type zipProps = ( string, ReactEvent.Form.t => unit, ReactEvent.Focus.t => unit, - React.ref>, + React.ref>, ReactEvent.Keyboard.t => unit, bool, ) @@ -433,14 +433,14 @@ let cardValid = (cardNumber, cardBrand) => { (clearValueLength == maxCardLength(cardBrand) || (cardBrand === "Visa" && clearValueLength == 16)) && calculateLuhn(cardNumber) } -let blurRef = (ref: React.ref>) => { - ref.current->Js.Nullable.toOption->Option.forEach(input => input->blur)->ignore +let blurRef = (ref: React.ref>) => { + ref.current->Nullable.toOption->Option.forEach(input => input->blur)->ignore } let handleInputFocus = ( - ~currentRef: React.ref>, - ~destinationRef: React.ref>, + ~currentRef: React.ref>, + ~destinationRef: React.ref>, ) => { - let optionalRef = destinationRef.current->Js.Nullable.toOption + let optionalRef = destinationRef.current->Nullable.toOption switch optionalRef { | Some(_) => optionalRef->Option.forEach(input => input->focus)->ignore | None => blurRef(currentRef) @@ -452,7 +452,7 @@ let getCardElementValue = (iframeId, key) => { switch (Window.parent->Window.frames)["0"] ->Window.document ->Window.getElementById(key) - ->Js.Nullable.toOption { + ->Nullable.toOption { | Some(dom) => dom->Window.value | None => "" } @@ -463,7 +463,7 @@ let getCardElementValue = (iframeId, key) => { switch (Window.parent->Window.frames)["1"] ->Window.document ->Window.getElementById(key) - ->Js.Nullable.toOption { + ->Nullable.toOption { | Some(dom) => dom->Window.value | None => "" } @@ -475,7 +475,7 @@ let getCardElementValue = (iframeId, key) => { switch (Window.parent->Window.frames)["2"] ->Window.document ->Window.getElementById(key) - ->Js.Nullable.toOption { + ->Nullable.toOption { | Some(dom) => dom->Window.value | None => "" } @@ -585,7 +585,7 @@ let getCardDetailsFromCardProps = cardProps => { "", _ => (), _ => (), - React.useRef(Js.Nullable.null), + React.useRef(Nullable.null), <> , "", _ => (), @@ -605,7 +605,7 @@ let getExpiryDetailsFromExpiryProps = expiryProps => { "", _ => (), _ => (), - React.useRef(Js.Nullable.null), + React.useRef(Nullable.null), _ => (), "", _ => (), @@ -625,7 +625,7 @@ let getCvcDetailsFromCvcProps = cvcProps => { _ => (), _ => (), _ => (), - React.useRef(Js.Nullable.null), + React.useRef(Nullable.null), _ => (), "", _ => (), diff --git a/src/Components/AddBankAccount.res b/src/Components/AddBankAccount.res index 0434c93b..beff3304 100644 --- a/src/Components/AddBankAccount.res +++ b/src/Components/AddBankAccount.res @@ -34,7 +34,7 @@ let make = (~modalData, ~setModalData) => { let {themeObj, localeString} = Recoil.useRecoilValueFromAtom(configAtom) let {iframeId} = Recoil.useRecoilValueFromAtom(keys) let (openToolTip, setOpenToolTip) = React.useState(_ => false) - let toolTipRef = React.useRef(Js.Nullable.null) + let toolTipRef = React.useRef(Nullable.null) let openModal = () => { handlePostMessage([ diff --git a/src/Components/AddressPaymentInput.res b/src/Components/AddressPaymentInput.res index ebfc5156..70f1e80f 100644 --- a/src/Components/AddressPaymentInput.res +++ b/src/Components/AddressPaymentInput.res @@ -54,10 +54,10 @@ let make = (~paymentType, ~className="") => { ) let (state, setState) = Recoil.useLoggedRecoilState(userAddressState, "state", loggerState) - let line1Ref = React.useRef(Js.Nullable.null) - let line2Ref = React.useRef(Js.Nullable.null) - let cityRef = React.useRef(Js.Nullable.null) - let postalRef = React.useRef(Js.Nullable.null) + let line1Ref = React.useRef(Nullable.null) + let line2Ref = React.useRef(Nullable.null) + let cityRef = React.useRef(Nullable.null) + let postalRef = React.useRef(Nullable.null) let (postalCodes, setPostalCodes) = React.useState(_ => [PostalCodeType.defaultPostalCode]) let (stateJson, setStatesJson) = React.useState(_ => None) diff --git a/src/Components/BillingNamePaymentInput.res b/src/Components/BillingNamePaymentInput.res index 9033fafd..35da05fc 100644 --- a/src/Components/BillingNamePaymentInput.res +++ b/src/Components/BillingNamePaymentInput.res @@ -35,7 +35,7 @@ let make = (~paymentType, ~customFieldName=None, ~requiredFields as optionalRequ | Some(val) => (val, val) | None => (localeString.billingNamePlaceholder, localeString.billingNameLabel) } - let nameRef = React.useRef(Js.Nullable.null) + let nameRef = React.useRef(Nullable.null) let submitCallback = React.useCallback1((ev: Window.event) => { let json = ev.data->JSON.parseExn diff --git a/src/Components/BlikCodePaymentInput.res b/src/Components/BlikCodePaymentInput.res index 9fab78fb..8170bee0 100644 --- a/src/Components/BlikCodePaymentInput.res +++ b/src/Components/BlikCodePaymentInput.res @@ -6,7 +6,7 @@ let make = () => { let loggerState = Recoil.useRecoilValueFromAtom(loggerAtom) let (blikCode, setblikCode) = Recoil.useLoggedRecoilState(userBlikCode, "blikCode", loggerState) - let blikCodeRef = React.useRef(Js.Nullable.null) + let blikCodeRef = React.useRef(Nullable.null) let formatBSB = bsb => { let formatted = bsb->String.replaceRegExp(%re("/\D+/g"), "") let firstPart = formatted->CardUtils.slice(0, 3) diff --git a/src/Components/DropdownField.res b/src/Components/DropdownField.res index 0e9e12b4..581aa300 100644 --- a/src/Components/DropdownField.res +++ b/src/Components/DropdownField.res @@ -11,7 +11,7 @@ let make = ( ) => { let {themeObj, localeString, config} = Recoil.useRecoilValueFromAtom(configAtom) let {readOnly} = Recoil.useRecoilValueFromAtom(optionAtom) - let dropdownRef = React.useRef(Js.Nullable.null) + let dropdownRef = React.useRef(Nullable.null) let (inputFocused, setInputFocused) = React.useState(_ => false) let {parentURL} = Recoil.useRecoilValueFromAtom(keys) diff --git a/src/Components/DynamicFields.res b/src/Components/DynamicFields.res index 7aa887e2..9e20c293 100644 --- a/src/Components/DynamicFields.res +++ b/src/Components/DynamicFields.res @@ -83,10 +83,10 @@ let make = ( ) let (postalCodes, setPostalCodes) = React.useState(_ => [PostalCodeType.defaultPostalCode]) let (currency, setCurrency) = Recoil.useLoggedRecoilState(userCurrency, "currency", logger) - let line1Ref = React.useRef(Js.Nullable.null) - let line2Ref = React.useRef(Js.Nullable.null) - let cityRef = React.useRef(Js.Nullable.null) - let postalRef = React.useRef(Js.Nullable.null) + let line1Ref = React.useRef(Nullable.null) + let line2Ref = React.useRef(Nullable.null) + let cityRef = React.useRef(Nullable.null) + let postalRef = React.useRef(Nullable.null) let (selectedBank, setSelectedBank) = Recoil.useRecoilState(userBank) let (country, setCountry) = Recoil.useRecoilState(userCountry) diff --git a/src/Components/EmailPaymentInput.res b/src/Components/EmailPaymentInput.res index af2d5e01..c40b1af2 100644 --- a/src/Components/EmailPaymentInput.res +++ b/src/Components/EmailPaymentInput.res @@ -11,7 +11,7 @@ let make = (~paymentType) => { let showDetails = getShowDetails(~billingDetails=fields.billingDetails, ~logger=loggerState) - let emailRef = React.useRef(Js.Nullable.null) + let emailRef = React.useRef(Nullable.null) let changeEmail = ev => { let val: string = ReactEvent.Form.target(ev)["value"] diff --git a/src/Components/FullNamePaymentInput.res b/src/Components/FullNamePaymentInput.res index 73828def..8b592042 100644 --- a/src/Components/FullNamePaymentInput.res +++ b/src/Components/FullNamePaymentInput.res @@ -33,7 +33,7 @@ let make = (~paymentType, ~customFieldName=None, ~optionalRequiredFields=None) = | Some(val) => (val, val) | None => (localeString.fullNamePlaceholder, localeString.fullNameLabel) } - let nameRef = React.useRef(Js.Nullable.null) + let nameRef = React.useRef(Nullable.null) let submitCallback = React.useCallback1((ev: Window.event) => { let json = ev.data->JSON.parseExn diff --git a/src/Components/FullScreenPortal.res b/src/Components/FullScreenPortal.res index 585c7ee5..d9e0c68e 100644 --- a/src/Components/FullScreenPortal.res +++ b/src/Components/FullScreenPortal.res @@ -4,7 +4,7 @@ external getElementById: string => Dom.element = "getElementById" @react.component let make = (~children) => { - let (fullScreenIframeNode, setFullScreenIframeNode) = React.useState(() => Js.Nullable.null) + let (fullScreenIframeNode, setFullScreenIframeNode) = React.useState(() => Nullable.null) React.useEffect(() => { let handle = (ev: Window.event) => { @@ -17,7 +17,7 @@ let make = (~children) => { setFullScreenIframeNode(_ => switch Window.windowParent->Window.fullscreen { | Some(doc) => doc->Window.document->Window.getElementById("fullscreen") - | None => Js.Nullable.null + | None => Nullable.null } ) } @@ -30,7 +30,7 @@ let make = (~children) => { Some(() => {Window.removeEventListener("message", handle)}) }) - switch fullScreenIframeNode->Js.Nullable.toOption { + switch fullScreenIframeNode->Nullable.toOption { | Some(domNode) => ReactDOM.createPortal(children, domNode) | None => React.null } diff --git a/src/Components/PaymentDropDownField.res b/src/Components/PaymentDropDownField.res index 706c3d27..afbf0505 100644 --- a/src/Components/PaymentDropDownField.res +++ b/src/Components/PaymentDropDownField.res @@ -13,7 +13,7 @@ let make = ( let {config} = Recoil.useRecoilValueFromAtom(configAtom) let {themeObj, localeString} = Recoil.useRecoilValueFromAtom(configAtom) let {readOnly} = Recoil.useRecoilValueFromAtom(optionAtom) - let dropdownRef = React.useRef(Js.Nullable.null) + let dropdownRef = React.useRef(Nullable.null) let (inputFocused, setInputFocused) = React.useState(_ => false) let {parentURL} = Recoil.useRecoilValueFromAtom(keys) diff --git a/src/Components/PhoneNumberPaymentInput.res b/src/Components/PhoneNumberPaymentInput.res index b86a035b..de70e50b 100644 --- a/src/Components/PhoneNumberPaymentInput.res +++ b/src/Components/PhoneNumberPaymentInput.res @@ -31,7 +31,7 @@ let make = () => { }) } - let phoneRef = React.useRef(Js.Nullable.null) + let phoneRef = React.useRef(Nullable.null) { let (_, setPortalNodes) = Recoil.useRecoilState(RecoilAtoms.portalNodes) - let setDiv = React.useCallback2((elem: Js.Nullable.t) => { + let setDiv = React.useCallback2((elem: Nullable.t) => { setPortalNodes(. prevDict => { let clonedDict = @@ -15,7 +15,7 @@ let make = React.memo((~name: string) => { ) ->Dict.fromArray - switch elem->Js.Nullable.toOption { + switch elem->Nullable.toOption { | Some(elem) => Dict.set(clonedDict, name, elem) | None => () } diff --git a/src/Components/SavedCardItem.res b/src/Components/SavedCardItem.res index cafb27ae..b2c358ec 100644 --- a/src/Components/SavedCardItem.res +++ b/src/Components/SavedCardItem.res @@ -24,7 +24,7 @@ let make = ( cvcError, _, ) = cvcProps - let cvcRef = React.useRef(Js.Nullable.null) + let cvcRef = React.useRef(Nullable.null) let pickerItemClass = isActive ? "PickerItem--selected" : "" let focusCVC = () => { @@ -34,7 +34,7 @@ let make = ( | None => "" } ) - let optionalRef = cvcRef.current->Js.Nullable.toOption + let optionalRef = cvcRef.current->Nullable.toOption switch optionalRef { | Some(_) => optionalRef->Option.forEach(input => input->CardUtils.focus)->ignore | None => () diff --git a/src/Hooks/CommonHooks.res b/src/Hooks/CommonHooks.res index 0f5c7336..ac59e9ba 100644 --- a/src/Hooks/CommonHooks.res +++ b/src/Hooks/CommonHooks.res @@ -16,7 +16,7 @@ type keys = { sdkHandleConfirmPayment: bool, sdkHandleOneClickConfirmPayment: bool, } -@val @scope("document") external querySelector: string => Js.Nullable.t = "querySelector" +@val @scope("document") external querySelector: string => Nullable.t = "querySelector" type event = {\"type": string} @val @scope("document") external createElement: string => element = "createElement" @@ -38,7 +38,7 @@ let useScript = (src: string) => { setStatus(_ => "idle") } let script = querySelector(`script[src="${src}"]`) - switch script->Js.Nullable.toOption { + switch script->Nullable.toOption { | Some(dom) => setStatus(_ => dom.getAttribute(. "data-status")) None diff --git a/src/Hooks/OutsideClick.res b/src/Hooks/OutsideClick.res index 0bf1f737..c24ac04e 100644 --- a/src/Hooks/OutsideClick.res +++ b/src/Hooks/OutsideClick.res @@ -1,12 +1,12 @@ external ffToDomType: Dom.eventTarget => Dom.node_like<'a> = "%identity" -external ffToWebDom: Js.Nullable.t => Js.Nullable.t = "%identity" +external ffToWebDom: Nullable.t => Nullable.t = "%identity" type ref = - | ArrayOfRef(array>>) - | RefArray(React.ref>>) + | ArrayOfRef(array>>) + | RefArray(React.ref>>) let useOutsideClick = ( ~refs: ref, - ~containerRefs: option>>=?, + ~containerRefs: option>>=?, ~isActive, ~events=["click"], ~callback, @@ -32,8 +32,8 @@ let useOutsideClick = ( let isInsideClick = switch refs { | ArrayOfRef(refs) => - refs->Array.reduce(false, (acc, ref: React.ref>) => { - let isClickInsideRef = switch ffToWebDom(ref.current)->Js.Nullable.toOption { + refs->Array.reduce(false, (acc, ref: React.ref>) => { + let isClickInsideRef = switch ffToWebDom(ref.current)->Nullable.toOption { | Some(element) => element->Webapi.Dom.Element.contains(~child=ffToDomType(targ)) | None => false } @@ -42,8 +42,8 @@ let useOutsideClick = ( | RefArray(refs) => refs.current ->Array.slice(~start=0, ~end=-1) - ->Array.reduce(false, (acc, ref: Js.Nullable.t) => { - let isClickInsideRef = switch ffToWebDom(ref)->Js.Nullable.toOption { + ->Array.reduce(false, (acc, ref: Nullable.t) => { + let isClickInsideRef = switch ffToWebDom(ref)->Nullable.toOption { | Some(element) => element->Webapi.Dom.Element.contains(~child=ffToDomType(targ)) | None => false } @@ -53,7 +53,7 @@ let useOutsideClick = ( let isClickInsideOfContainer = switch containerRefs { | Some(ref) => - switch ffToWebDom(ref.current)->Js.Nullable.toOption { + switch ffToWebDom(ref.current)->Nullable.toOption { | Some(element) => element->Webapi.Dom.Element.contains(~child=ffToDomType(targ)) | None => false } diff --git a/src/LoaderController.res b/src/LoaderController.res index a4f02f9f..b18d960e 100644 --- a/src/LoaderController.res +++ b/src/LoaderController.res @@ -17,7 +17,7 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { let (divH, setDivH) = React.useState(_ => 0.0) let {showCardFormByDefault, paymentMethodOrder} = optionsPayment - let divRef = React.useRef(Js.Nullable.null) + let divRef = React.useRef(Nullable.null) let {config} = configAtom let {iframeId} = keys @@ -390,7 +390,7 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger) => { }) ->ignore }) - switch divRef.current->Js.Nullable.toOption { + switch divRef.current->Nullable.toOption { | Some(r) => observer.observe(. r) | None => () } diff --git a/src/Payment.res b/src/Payment.res index 9ce38eba..440e04b8 100644 --- a/src/Payment.res +++ b/src/Payment.res @@ -35,10 +35,10 @@ let make = (~paymentMode, ~integrateError, ~logger) => { let intent = PaymentHelpers.usePaymentIntent(Some(logger), Card) - let cardRef = React.useRef(Js.Nullable.null) - let expiryRef = React.useRef(Js.Nullable.null) - let cvcRef = React.useRef(Js.Nullable.null) - let zipRef = React.useRef(Js.Nullable.null) + let cardRef = React.useRef(Nullable.null) + let expiryRef = React.useRef(Nullable.null) + let cvcRef = React.useRef(Nullable.null) + let zipRef = React.useRef(Nullable.null) let (isCardValid, setIsCardValid) = React.useState(_ => None) let (isExpiryValid, setIsExpiryValid) = React.useState(_ => None) @@ -125,7 +125,7 @@ let make = (~paymentMode, ~integrateError, ~logger) => { let cvc = val->formatCVCNumber(cardBrand) setCvcNumber(_ => cvc) if cvc->String.length > 0 && cvcNumberInRange(cvc, cardBrand)->Array.includes(true) { - zipRef.current->Js.Nullable.toOption->Option.forEach(input => input->focus)->ignore + zipRef.current->Nullable.toOption->Option.forEach(input => input->focus)->ignore } } @@ -300,7 +300,7 @@ let make = (~paymentMode, ~integrateError, ~logger) => { setBlurState(_ => true) } else if dict->Dict.get("doFocus")->Option.isSome { logger.setLogInfo(~value="doFocus Triggered", ~eventName=FOCUS, ()) - cardRef.current->Js.Nullable.toOption->Option.forEach(input => input->focus)->ignore + cardRef.current->Nullable.toOption->Option.forEach(input => input->focus)->ignore } else if dict->Dict.get("doClearValues")->Option.isSome { logger.setLogInfo(~value="doClearValues Triggered", ~eventName=CLEAR, ()) //clear all values diff --git a/src/PaymentOptions.res b/src/PaymentOptions.res index 3ecfe7a6..57192e86 100644 --- a/src/PaymentOptions.res +++ b/src/PaymentOptions.res @@ -51,14 +51,14 @@ let make = ( ) => { let {themeObj, localeString} = Recoil.useRecoilValueFromAtom(configAtom) let {readOnly, customMethodNames} = Recoil.useRecoilValueFromAtom(optionAtom) - let payOptionsRef = React.useRef(Js.Nullable.null) - let selectRef = React.useRef(Js.Nullable.null) + let payOptionsRef = React.useRef(Nullable.null) + let selectRef = React.useRef(Nullable.null) let (winW, winH) = Utils.useWindowSize() let (selectedOption, setSelectedOption) = Recoil.useRecoilState(selectedOptionAtom) let (moreIconIndex, setMoreIconIndex) = React.useState(_ => 0) let (toggleIconElement, setToggleIconElement) = React.useState(_ => false) React.useEffect2(() => { - let width = switch payOptionsRef.current->Js.Nullable.toOption { + let width = switch payOptionsRef.current->Nullable.toOption { | Some(ref) => Webapi.Dom.Element.clientWidth(ref) | None => 0 } diff --git a/src/Payments/ACHBankDebit.res b/src/Payments/ACHBankDebit.res index d368b001..24f30f02 100644 --- a/src/Payments/ACHBankDebit.res +++ b/src/Payments/ACHBankDebit.res @@ -19,7 +19,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) let (modalData, setModalData) = React.useState(_ => None) - let toolTipRef = React.useRef(Js.Nullable.null) + let toolTipRef = React.useRef(Nullable.null) let (line1, _) = Recoil.useLoggedRecoilState(userAddressline1, "line1", loggerState) let (line2, _) = Recoil.useLoggedRecoilState(userAddressline2, "line2", loggerState) let (country, _) = Recoil.useLoggedRecoilState(userAddressCountry, "country", loggerState) diff --git a/src/Payments/BacsBankDebit.res b/src/Payments/BacsBankDebit.res index cd4f0663..96781032 100644 --- a/src/Payments/BacsBankDebit.res +++ b/src/Payments/BacsBankDebit.res @@ -41,8 +41,8 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) let (sortCodeError, setSortCodeError) = React.useState(_ => "") - let sortCodeRef = React.useRef(Js.Nullable.null) - let accNumRef = React.useRef(Js.Nullable.null) + let sortCodeRef = React.useRef(Nullable.null) + let accNumRef = React.useRef(Nullable.null) let complete = email.value != "" && diff --git a/src/Payments/BankDebitModal.res b/src/Payments/BankDebitModal.res index fd898b6a..71299c9a 100644 --- a/src/Payments/BankDebitModal.res +++ b/src/Payments/BankDebitModal.res @@ -123,11 +123,11 @@ let make = (~setModalData) => { let (_, setInputFocus) = React.useState(_ => NONE) - let routeref = React.useRef(Js.Nullable.null) - let accountRef = React.useRef(Js.Nullable.null) - let nameRef = React.useRef(Js.Nullable.null) - let ibanRef = React.useRef(Js.Nullable.null) - let sortCodeRef = React.useRef(Js.Nullable.null) + let routeref = React.useRef(Nullable.null) + let accountRef = React.useRef(Nullable.null) + let nameRef = React.useRef(Nullable.null) + let ibanRef = React.useRef(Nullable.null) + let sortCodeRef = React.useRef(Nullable.null) let resetReoutingError = () => { setIsRoutingValid(_ => None) @@ -155,7 +155,7 @@ let make = (~setModalData) => { ) { setIsRoutingValid(_ => Some(true)) setRoutingError(_ => "") - accountRef.current->Js.Nullable.toOption->Option.forEach(input => input->focus)->ignore + accountRef.current->Nullable.toOption->Option.forEach(input => input->focus)->ignore } else { resetReoutingError() } diff --git a/src/Payments/Boleto.res b/src/Payments/Boleto.res index a711b2ee..eb7c5e9c 100644 --- a/src/Payments/Boleto.res +++ b/src/Payments/Boleto.res @@ -35,7 +35,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) let (socialSecurityNumberError, setSocialSecurityNumberError) = React.useState(_ => "") - let socialSecurityNumberRef = React.useRef(Js.Nullable.null) + let socialSecurityNumberRef = React.useRef(Nullable.null) let (complete, empty) = React.useMemo1(() => { ( diff --git a/src/Payments/PaypalSDK.res b/src/Payments/PaypalSDK.res index e84ed22d..34c35559 100644 --- a/src/Payments/PaypalSDK.res +++ b/src/Payments/PaypalSDK.res @@ -9,11 +9,9 @@ let make = (~sessionObj: SessionsType.token, ~list: PaymentMethodsRecord.list) = let token = sessionObj.token let intent = PaymentHelpers.usePaymentIntent(Some(loggerState), Paypal) let checkoutScript = - Window.document(Window.window) - ->Window.getElementById("braintree-checkout") - ->Js.Nullable.toOption + Window.document(Window.window)->Window.getElementById("braintree-checkout")->Nullable.toOption let clientScript = - Window.document(Window.window)->Window.getElementById("braintree-client")->Js.Nullable.toOption + Window.document(Window.window)->Window.getElementById("braintree-client")->Nullable.toOption let options = Recoil.useRecoilValueFromAtom(RecoilAtoms.optionAtom) let (_, _, buttonType) = options.wallets.style.type_ @@ -56,7 +54,7 @@ let make = (~sessionObj: SessionsType.token, ~list: PaymentMethodsRecord.list) = braintree.paypalCheckout.create(. {client: clientInstance}, (paypalCheckoutErr, paypalCheckoutInstance) => { - switch paypalCheckoutErr->Js.Nullable.toOption { + switch paypalCheckoutErr->Nullable.toOption { | Some(val) => Js.Console.warn(`INTEGRATION ERROR: ${val.message}`) | None => () } diff --git a/src/Payments/QRCodeDisplay.res b/src/Payments/QRCodeDisplay.res index e14045ec..62707681 100644 --- a/src/Payments/QRCodeDisplay.res +++ b/src/Payments/QRCodeDisplay.res @@ -111,11 +111,11 @@ let make = () => { }) ->then(_json => { Modal.close(setOpenModal) - resolve(Js.Nullable.null) + resolve(Nullable.null) }) ->catch(e => { Js.log2("Retrieve Failed", e) - resolve(Js.Nullable.null) + resolve(Nullable.null) }) ->ignore } diff --git a/src/Payments/VoucherDisplay.res b/src/Payments/VoucherDisplay.res index 2655e781..85767da6 100644 --- a/src/Payments/VoucherDisplay.res +++ b/src/Payments/VoucherDisplay.res @@ -10,10 +10,10 @@ let make = () => { let (paymentMethod, setPaymentMethod) = React.useState(_ => "") let (paymentIntent, setPaymentIntent) = React.useState(_ => JSON.Encode.null) let (loader, setLoader) = React.useState(_ => true) - let linkRef = React.useRef(Js.Nullable.null) + let linkRef = React.useRef(Nullable.null) React.useEffect1(() => { - switch linkRef.current->Js.Nullable.toOption { + switch linkRef.current->Nullable.toOption { | Some(link) => link->Window.click | None => () } diff --git a/src/RenderPaymentMethods.res b/src/RenderPaymentMethods.res index cee83903..4e207cb3 100644 --- a/src/RenderPaymentMethods.res +++ b/src/RenderPaymentMethods.res @@ -52,7 +52,7 @@ let make = ( ) = cvcProps let blur = blurState ? "blur(2px)" : "" - let frameRef = React.useRef(Js.Nullable.null) + let frameRef = React.useRef(Nullable.null)
}> + fallback={ + + }> | Payment => }> + fallback={ + + }> | CardNumberElement => diff --git a/src/Types/ApplePayTypes.res b/src/Types/ApplePayTypes.res index 215773df..b32628a1 100644 --- a/src/Types/ApplePayTypes.res +++ b/src/Types/ApplePayTypes.res @@ -19,7 +19,7 @@ type window = {\"ApplePaySession": applePaySession} @val external window: window = "window" -@scope("window") @val external sessionForApplePay: Js.Nullable.t = "ApplePaySession" +@scope("window") @val external sessionForApplePay: Nullable.t = "ApplePaySession" @new external applePaySession: (int, JSON.t) => session = "ApplePaySession" diff --git a/src/Types/PaypalSDKTypes.res b/src/Types/PaypalSDKTypes.res index 1a0c6674..a9cbd8b2 100644 --- a/src/Types/PaypalSDKTypes.res +++ b/src/Types/PaypalSDKTypes.res @@ -53,7 +53,7 @@ type client = {create: (. authType, (clientErr, clientInstance) => unit) => unit type paypalCheckout = { create: ( . checkoutClient, - (Js.Nullable.t, paypalCheckoutInstance) => unit, + (Nullable.t, paypalCheckoutInstance) => unit, ) => unit, } type braintree = { diff --git a/src/Utilities/Utils.res b/src/Utilities/Utils.res index 55f31175..26d98ef4 100644 --- a/src/Utilities/Utils.res +++ b/src/Utilities/Utils.res @@ -533,7 +533,7 @@ let generateStyleSheet = (classname, dict, id) => { style["appendChild"](. document["createTextNode"](. constructClass(~classname, ~dict)))->ignore document["body"]["appendChild"](. style)->ignore } - switch Window.window->Window.document->Window.getElementById(id)->Js.Nullable.toOption { + switch Window.window->Window.document->Window.getElementById(id)->Nullable.toOption { | Some(val) => { val->remove createStyle() diff --git a/src/Window.res b/src/Window.res index 16b03077..43d83f5a 100644 --- a/src/Window.res +++ b/src/Window.res @@ -25,7 +25,7 @@ external replace: string => unit = "replace" @get external document: window => document = "document" @get external parentNode: Dom.element => Dom.element = "parentNode" @val @scope("document") -external querySelector: string => Js.Nullable.t = "querySelector" +external querySelector: string => Nullable.t = "querySelector" @val @scope("document") external querySelectorAll: string => array = "querySelectorAll" @@ -47,7 +47,7 @@ external addEventListener: (string, _ => unit) => unit = "addEventListener" external removeEventListener: (string, 'ev => unit) => unit = "removeEventListener" @send external postMessage: (Dom.element, string, string) => unit = "postMessage" @send -external getElementById: (document, string) => Js.Nullable.t = "getElementById" +external getElementById: (document, string) => Nullable.t = "getElementById" @get external frames: window => {..} = "frames" @get external name: window => string = "name" @@ -61,7 +61,7 @@ external style: Dom.element => style = "style" @send external click: Dom.element => unit = "click" let iframePostMessage = (iframeRef: Js.nullable, message) => { - switch iframeRef->Js.Nullable.toOption { + switch iframeRef->Nullable.toOption { | Some(ref) => try { ref @@ -92,7 +92,7 @@ external body: body = "body" @set external elementOnload: (Dom.element, unit => unit) => unit = "onload" @set external elementOnerror: (Dom.element, exn => unit) => unit = "onerror" @val @scope("window") -external getHyper: Js.Nullable.t = "HyperMethod" +external getHyper: Nullable.t = "HyperMethod" @set external setHyper: (window, Types.hyperInstance) => unit = "HyperMethod" diff --git a/src/orca-loader/Elements.res b/src/orca-loader/Elements.res index 232d8d50..a9f1cca4 100644 --- a/src/orca-loader/Elements.res +++ b/src/orca-loader/Elements.res @@ -25,7 +25,7 @@ let make = ( ~analyticsMetadata, ) => { let handleApplePayMessages = ref(_ => ()) - let applePaySessionRef = ref(Js.Nullable.null) + let applePaySessionRef = ref(Nullable.null) try { let iframeRef = [] @@ -257,7 +257,7 @@ let make = ( let dict = json->getDictFromJson if dict->Dict.get("applePayMounted")->Option.isSome { - switch sessionForApplePay->Js.Nullable.toOption { + switch sessionForApplePay->Nullable.toOption { | Some(session) => if session.canMakePayments(.) { let msg = [("applePayCanMakePayments", true->JSON.Encode.bool)]->Dict.fromArray @@ -541,7 +541,7 @@ let make = ( ->Utils.transformKeys(Utils.CamelCase) let ssn = applePaySession(3, paymentRequest) - switch applePaySessionRef.contents->Js.Nullable.toOption { + switch applePaySessionRef.contents->Nullable.toOption { | Some(session) => try { session.abort(.) @@ -552,7 +552,7 @@ let make = ( } ssn.begin(.) - applePaySessionRef := ssn->Js.Nullable.return + applePaySessionRef := ssn->Nullable.make ssn.onvalidatemerchant = _event => { let merchantSession = @@ -567,13 +567,13 @@ let make = ( ssn.onpaymentauthorized = event => { ssn.completePayment(. {"status": ssn.\"STATUS_SUCCESS"}->objToJson) - applePaySessionRef := Js.Nullable.null + applePaySessionRef := Nullable.null processPayment(event.payment.token) } ssn.oncancel = _ev => { let msg = [("showApplePayButton", true->JSON.Encode.bool)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) - applePaySessionRef := Js.Nullable.null + applePaySessionRef := Nullable.null Utils.logInfo(Js.log("Apple Pay payment cancelled")) } } diff --git a/src/orca-loader/Hyper.res b/src/orca-loader/Hyper.res index cedd7f8a..a5a67152 100644 --- a/src/orca-loader/Hyper.res +++ b/src/orca-loader/Hyper.res @@ -7,7 +7,7 @@ open EventListenerManager external eventToJson: Types.eventData => JSON.t = "%identity" let checkAndAppend = (selector, child) => { - if Js.Nullable.toOption(CommonHooks.querySelector(selector)) == None { + if Nullable.toOption(CommonHooks.querySelector(selector)) == None { CommonHooks.appendChild(child) } } @@ -114,7 +114,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionSentry.sentryLogger - switch Window.getHyper->Js.Nullable.toOption { + switch Window.getHyper->Nullable.toOption { | Some(hyperMethod) => { logger.setLogInfo( ~value="orca-sdk initiated", diff --git a/src/orca-loader/LoaderPaymentElement.res b/src/orca-loader/LoaderPaymentElement.res index 6b4d6632..b771d62f 100644 --- a/src/orca-loader/LoaderPaymentElement.res +++ b/src/orca-loader/LoaderPaymentElement.res @@ -109,7 +109,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let id = mountId.contents let oElement = Window.querySelector(id) - switch oElement->Js.Nullable.toOption { + switch oElement->Nullable.toOption { | Some(elem) => elem->Window.innerHTML("") | None => Js.Console.warn( @@ -177,7 +177,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let elem = Window.querySelector( `#orca-payment-element-iframeRef-${localSelectorString}`, ) - switch elem->Js.Nullable.toOption { + switch elem->Nullable.toOption { | Some(ele) => ele ->Window.style @@ -223,7 +223,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = } if id == localSelectorString { let elem = Window.querySelector(`#orca-element-${localSelectorString}`) - switch elem->Js.Nullable.toOption { + switch elem->Nullable.toOption { | Some(ele) => ele->Window.className(currentClass.contents) | None => () } @@ -249,7 +249,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = `#orca-fullscreen-iframeRef-${localSelectorString}`, ) - switch fullscreenElem->Js.Nullable.toOption { + switch fullscreenElem->Nullable.toOption { | Some(ele) => ele->Window.innerHTML("") let mainElement = Window.querySelector( @@ -316,7 +316,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = let oElement = Window.querySelector(selector) let classesBase = optionsDict->OrcaUtils.getClasses("base") let additionalIframeStyle = componentType->Utils.isOtherElements ? "height: 2rem;" : "" - switch oElement->Js.Nullable.toOption { + switch oElement->Nullable.toOption { | Some(elem) => { let iframeDiv = `
@@ -336,7 +336,7 @@ let make = (componentType, options, setIframeRef, iframeRef, mountPostMessage) = ) let elem = Window.querySelector(`#orca-payment-element-iframeRef-${localSelectorString}`) - switch elem->Js.Nullable.toOption { + switch elem->Nullable.toOption { | Some(ele) => ele->Window.style->Window.setTransition("height 0.35s ease 0s, opacity 0.4s ease 0.1s") | None => () diff --git a/src/orca-loader/OrcaUtils.res b/src/orca-loader/OrcaUtils.res index 36dc798c..1d5ab522 100644 --- a/src/orca-loader/OrcaUtils.res +++ b/src/orca-loader/OrcaUtils.res @@ -1,5 +1,5 @@ open Utils -external toNullable: JSON.t => Js.Nullable.t = "%identity" +external toNullable: JSON.t => Nullable.t = "%identity" external eventToJson: Types.eventData => JSON.t = "%identity" let safeParseOpt = st => { try { diff --git a/src/orca-loader/Types.res b/src/orca-loader/Types.res index ae46e8f0..fa35ecf0 100644 --- a/src/orca-loader/Types.res +++ b/src/orca-loader/Types.res @@ -43,7 +43,7 @@ type confirmParams = {return_url: string} type confirmPaymentParams = { elements: JSON.t, - confirmParams: Js.Nullable.t, + confirmParams: Nullable.t, } type hyperInstance = { diff --git a/src/orca-log-catcher/ErrorBoundary.res b/src/orca-log-catcher/ErrorBoundary.res index d6daa4b1..0c2aca88 100644 --- a/src/orca-log-catcher/ErrorBoundary.res +++ b/src/orca-log-catcher/ErrorBoundary.res @@ -138,7 +138,7 @@ module ErrorCard = { let {themeObj} = Recoil.useRecoilValueFromAtom(RecoilAtoms.configAtom) let (keys, _setKeys) = Recoil.useRecoilState(RecoilAtoms.keys) let {iframeId} = keys - let divRef = React.useRef(Js.Nullable.null) + let divRef = React.useRef(Nullable.null) let observer = ResizeObserver.newResizerObserver(entries => { entries @@ -148,7 +148,7 @@ module ErrorCard = { ->ignore }) - switch divRef.current->Js.Nullable.toOption { + switch divRef.current->Nullable.toOption { | Some(r) => observer.observe(. r) | None => () } diff --git a/src/orca-log-catcher/OrcaLogger.res b/src/orca-log-catcher/OrcaLogger.res index da3334c4..6b664c82 100644 --- a/src/orca-log-catcher/OrcaLogger.res +++ b/src/orca-log-catcher/OrcaLogger.res @@ -317,8 +317,8 @@ let browserDetect = content => { let re = %re("/Edg\/([\d]+\.[\w]?\.?[\w]+)/ig") let version = switch findVersion(re, content) ->Belt.Array.get(1) - ->Option.getOr(Js.Nullable.null) - ->Js.Nullable.toOption { + ->Option.getOr(Nullable.null) + ->Nullable.toOption { | Some(a) => a | None => "" } @@ -327,8 +327,8 @@ let browserDetect = content => { let re = %re("/Chrome\/([\d]+\.[\w]?\.?[\w]+)/ig") let version = switch findVersion(re, content) ->Belt.Array.get(1) - ->Option.getOr(Js.Nullable.null) - ->Js.Nullable.toOption { + ->Option.getOr(Nullable.null) + ->Nullable.toOption { | Some(a) => a | None => "" } @@ -337,8 +337,8 @@ let browserDetect = content => { let re = %re("/Safari\/([\d]+\.[\w]?\.?[\w]+)/ig") let version = switch findVersion(re, content) ->Belt.Array.get(1) - ->Option.getOr(Js.Nullable.null) - ->Js.Nullable.toOption { + ->Option.getOr(Nullable.null) + ->Nullable.toOption { | Some(a) => a | None => "" } @@ -347,8 +347,8 @@ let browserDetect = content => { let re = %re("/Opera\/([\d]+\.[\w]?\.?[\w]+)/ig") let version = switch findVersion(re, content) ->Belt.Array.get(1) - ->Option.getOr(Js.Nullable.null) - ->Js.Nullable.toOption { + ->Option.getOr(Nullable.null) + ->Nullable.toOption { | Some(a) => a | None => "" } @@ -361,8 +361,8 @@ let browserDetect = content => { let re = %re("/Firefox\/([\d]+\.[\w]?\.?[\w]+)/ig") let version = switch findVersion(re, content) ->Belt.Array.get(1) - ->Option.getOr(Js.Nullable.null) - ->Js.Nullable.toOption { + ->Option.getOr(Nullable.null) + ->Nullable.toOption { | Some(a) => a | None => "" } @@ -371,8 +371,8 @@ let browserDetect = content => { let re = %re("/fxios\/([\d]+\.[\w]?\.?[\w]+)/ig") let version = switch findVersion(re, content) ->Belt.Array.get(1) - ->Option.getOr(Js.Nullable.null) - ->Js.Nullable.toOption { + ->Option.getOr(Nullable.null) + ->Nullable.toOption { | Some(a) => a | None => "" } diff --git a/src/orca-log-catcher/Sentry.res b/src/orca-log-catcher/Sentry.res index fa9cd8fe..6bede89d 100644 --- a/src/orca-log-catcher/Sentry.res +++ b/src/orca-log-catcher/Sentry.res @@ -23,7 +23,7 @@ external exnToJsExn: exn => option = "%identity" external useEffect: (. unit => option unit>) => unit = "useEffect" type sentry @val @scope("window") -external isSentryPresent: Js.Nullable.t = "Sentry" +external isSentryPresent: Nullable.t = "Sentry" @module("@sentry/react") external initSentry: sentryInitArg => unit = "init" @@ -69,7 +69,7 @@ module ErrorBoundary = { let initiateSentry = (~dsn) => { try { initSentry({ - dsn: dsn, + dsn, integrations: [ newBrowserTracing({ routingInstrumentation: reactRouterV6Instrumentation(useEffect), @@ -97,7 +97,7 @@ let initiateSentry = (~dsn) => { let initiateSentryJs = (~dsn) => { try { initSentryJs({ - dsn: dsn, + dsn, integrations: [newBrowserTracingJs(), newSentryReplayJs()], tracesSampleRate: 1.0, tracePropagationTargets: ["localhost"], @@ -113,7 +113,7 @@ let initiateSentryJs = (~dsn) => { } let captureException = (err: exn) => { - switch isSentryPresent->Js.Nullable.toOption { + switch isSentryPresent->Nullable.toOption { | Some(_val) => let error = err->exnToJsExn switch error { From da089933a0bc1e0f17e2735a2d880d8247846db0 Mon Sep 17 00:00:00 2001 From: Pritish Budhiraja <1805317@kiit.ac.in> Date: Thu, 7 Mar 2024 14:21:57 +0530 Subject: [PATCH 10/17] refactor: date and console core changes --- src/CardUtils.res | 4 ++-- src/Payments/ApplePay.res | 2 +- src/Payments/BecsBankDebit.res | 2 +- src/Payments/GPay.res | 2 +- src/Payments/PaypalSDK.res | 4 ++-- src/Payments/QRCodeDisplay.res | 4 ++-- src/Utilities/PaymentBody.res | 5 +---- src/Utilities/PaymentHelpers.res | 6 +++--- src/orca-loader/Elements.res | 8 ++++---- src/orca-loader/Hyper.res | 12 ++++++------ src/orca-log-catcher/ErrorBoundary.res | 2 +- src/orca-log-catcher/OrcaLogger.res | 18 +++++++++--------- src/orca-log-catcher/Sentry.res | 4 ++-- 13 files changed, 35 insertions(+), 38 deletions(-) diff --git a/src/CardUtils.res b/src/CardUtils.res index 92f64408..2042623c 100644 --- a/src/CardUtils.res +++ b/src/CardUtils.res @@ -183,7 +183,7 @@ let splitExpiryDates = val => { (month, year) } let getExpiryDates = val => { - let date = Js.Date.make()->Js.Date.toISOString + let date = Date.make()->Date.toISOString let (month, year) = splitExpiryDates(val) let (_, currentYear) = getCurrentMonthAndYear(date) let prefix = currentYear->Belt.Int.toString->String.slice(~start=0, ~end=2) @@ -343,7 +343,7 @@ let getCardBrandIcon = (cardType, paymentType) => { } let getExpiryValidity = cardExpiry => { - let date = Js.Date.make()->Js.Date.toISOString + let date = Date.make()->Date.toISOString let (month, year) = getExpiryDates(cardExpiry) let (currentMonth, currentYear) = getCurrentMonthAndYear(date) let valid = if currentYear == year->toInt && month->toInt >= currentMonth && month->toInt <= 12 { diff --git a/src/Payments/ApplePay.res b/src/Payments/ApplePay.res index 12bc2f8c..c46d4916 100644 --- a/src/Payments/ApplePay.res +++ b/src/Payments/ApplePay.res @@ -297,7 +297,7 @@ let make = ( syncPayment() } } catch { - | _ => Utils.logInfo(Js.log("Error in parsing Apple Pay Data")) + | _ => Utils.logInfo(Console.log("Error in parsing Apple Pay Data")) } } Window.addEventListener("message", handleApplePayMessages) diff --git a/src/Payments/BecsBankDebit.res b/src/Payments/BecsBankDebit.res index 33901853..1c23ecb9 100644 --- a/src/Payments/BecsBankDebit.res +++ b/src/Payments/BecsBankDebit.res @@ -27,7 +27,7 @@ let make = (~paymentType: CardThemeType.mode, ~list: PaymentMethodsRecord.list) email.isValid->Option.getOr(false) && switch modalData { | Some(data: ACHTypes.data) => - Js.log2( + Console.log2( data.accountNumber->String.length == 9 && data.sortCode->cleanBSB->String.length == 6, "complete", ) diff --git a/src/Payments/GPay.res b/src/Payments/GPay.res index 49ef62c6..e71f2d81 100644 --- a/src/Payments/GPay.res +++ b/src/Payments/GPay.res @@ -215,7 +215,7 @@ let make = ( syncPayment() } } catch { - | _ => Utils.logInfo(Js.log("Error in syncing GooglePay Payment")) + | _ => Utils.logInfo(Console.log("Error in syncing GooglePay Payment")) } } Window.addEventListener("message", handleGooglePayMessages) diff --git a/src/Payments/PaypalSDK.res b/src/Payments/PaypalSDK.res index 34c35559..521d9700 100644 --- a/src/Payments/PaypalSDK.res +++ b/src/Payments/PaypalSDK.res @@ -132,10 +132,10 @@ let make = (~sessionObj: SessionsType.token, ~list: PaymentMethodsRecord.list) = try { switch (checkoutScript, clientScript) { | (Some(_), Some(_)) => loadPaypalSdk() - | (_, _) => Utils.logInfo(Js.log("Error loading Paypal")) + | (_, _) => Utils.logInfo(Console.log("Error loading Paypal")) } } catch { - | _err => Utils.logInfo(Js.log("Error loading Paypal")) + | _err => Utils.logInfo(Console.log("Error loading Paypal")) } } None diff --git a/src/Payments/QRCodeDisplay.res b/src/Payments/QRCodeDisplay.res index 62707681..fcf48878 100644 --- a/src/Payments/QRCodeDisplay.res +++ b/src/Payments/QRCodeDisplay.res @@ -45,7 +45,7 @@ let make = () => { }) let expiryTime = metaDataDict->getString("expiryTime", "")->Belt.Float.fromString->Option.getOr(0.0) - let timeExpiry = expiryTime -. Js.Date.now() + let timeExpiry = expiryTime -. Date.now() if timeExpiry > 0.0 && timeExpiry < 900000.0 { setExpiryTime(_ => timeExpiry) } @@ -114,7 +114,7 @@ let make = () => { resolve(Nullable.null) }) ->catch(e => { - Js.log2("Retrieve Failed", e) + Console.log2("Retrieve Failed", e) resolve(Nullable.null) }) ->ignore diff --git a/src/Utilities/PaymentBody.res b/src/Utilities/PaymentBody.res index c00f138d..7754c3b9 100644 --- a/src/Utilities/PaymentBody.res +++ b/src/Utilities/PaymentBody.res @@ -71,10 +71,7 @@ let mandateBody = paymentType => { "customer_acceptance", [ ("acceptance_type", "online"->JSON.Encode.string), - ( - "accepted_at", - Js.Date.now()->Js.Date.fromFloat->Js.Date.toISOString->JSON.Encode.string, - ), + ("accepted_at", Date.now()->Js.Date.fromFloat->Date.toISOString->JSON.Encode.string), ( "online", [("user_agent", BrowserSpec.navigator.userAgent->JSON.Encode.string)] diff --git a/src/Utilities/PaymentHelpers.res b/src/Utilities/PaymentHelpers.res index 68bf096a..eaa94cd3 100644 --- a/src/Utilities/PaymentHelpers.res +++ b/src/Utilities/PaymentHelpers.res @@ -67,7 +67,7 @@ let retrievePaymentIntent = (clientSecret, headers, ~optLogger, ~switchToCustomP } }) ->catch(e => { - Js.log2("Unable to retrieve payment details because of ", e) + Console.log2("Unable to retrieve payment details because of ", e) JSON.Encode.null->resolve }) } @@ -88,7 +88,7 @@ let rec pollRetrievePaymentIntent = (clientSecret, headers, ~optLogger, ~switchT } }) ->catch(e => { - Js.log2("Unable to retrieve payment due to following error", e) + Console.log2("Unable to retrieve payment due to following error", e) pollRetrievePaymentIntent(clientSecret, headers, ~optLogger, ~switchToCustomPod) }) } @@ -657,7 +657,7 @@ let usePaymentIntent = (optLogger: option, paymentType: p }) } if blockConfirm && Window.isInteg { - Js.log3("CONFIRM IS BLOCKED", body->JSON.parseExn, headers) + Console.log3("CONFIRM IS BLOCKED", body->JSON.parseExn, headers) } else { intentCall( ~fetchApi, diff --git a/src/orca-loader/Elements.res b/src/orca-loader/Elements.res index a9f1cca4..c745f04d 100644 --- a/src/orca-loader/Elements.res +++ b/src/orca-loader/Elements.res @@ -109,7 +109,7 @@ let make = ( let trustPayScript = Window.createElement("script") trustPayScript->Window.elementSrc(trustPayScriptURL) trustPayScript->Window.elementOnerror(err => { - Utils.logInfo(Js.log2("ERROR DURING LOADING TRUSTPAY APPLE PAY", err)) + Utils.logInfo(Console.log2("ERROR DURING LOADING TRUSTPAY APPLE PAY", err)) }) Window.body->Window.appendChild(trustPayScript) logger.setLogInfo(~value="TrustPay Script Loaded", ~eventName=TRUSTPAY_SCRIPT, ()) @@ -546,7 +546,7 @@ let make = ( try { session.abort(.) } catch { - | error => Js.log2("Abort fail", error) + | error => Console.log2("Abort fail", error) } | None => () } @@ -574,7 +574,7 @@ let make = ( let msg = [("showApplePayButton", true->JSON.Encode.bool)]->Dict.fromArray mountedIframeRef->Window.iframePostMessage(msg) applePaySessionRef := Nullable.null - Utils.logInfo(Js.log("Apple Pay payment cancelled")) + Utils.logInfo(Console.log("Apple Pay payment cancelled")) } } } else { @@ -696,7 +696,7 @@ let make = ( } addSmartEventListener("message", handleGooglePayMessages, "onGooglePayMessages") } catch { - | _ => Js.log("Error loading Gpay") + | _ => Console.log("Error loading Gpay") } } diff --git a/src/orca-loader/Hyper.res b/src/orca-loader/Hyper.res index a5a67152..41fe9069 100644 --- a/src/orca-loader/Hyper.res +++ b/src/orca-loader/Hyper.res @@ -20,7 +20,7 @@ if ( let script = Window.createElement("script") script->Window.elementSrc(GlobalVars.sentryScriptUrl) script->Window.elementOnerror(err => { - Js.log2("ERROR DURING LOADING Sentry on HyperLoader", err) + Console.log2("ERROR DURING LOADING Sentry on HyperLoader", err) }) script->Window.elementOnload(() => { Sentry.initiateSentryJs(~dsn=GlobalVars.sentryDSN) @@ -29,7 +29,7 @@ if ( Window.body->Window.appendChild(script) }) } catch { - | e => Js.log2("Sentry load exited", e) + | e => Console.log2("Sentry load exited", e) } } @@ -87,7 +87,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionOption.flatMap(JSON.Decode.object)->Option.getOr(Dict.make()) let sessionID = analyticsInfoDict->getString("sessionID", "") - let sdkTimestamp = analyticsInfoDict->getString("timeStamp", Js.Date.now()->Belt.Float.toString) + let sdkTimestamp = analyticsInfoDict->getString("timeStamp", Date.now()->Belt.Float.toString) let logger = OrcaLogger.make( ~sessionId=sessionID, ~source=Loader, @@ -125,7 +125,7 @@ let make = (publishableKey, options: option, analyticsInfo: option - let loaderTimestamp = Js.Date.now()->Belt.Float.toString + let loaderTimestamp = Date.now()->Belt.Float.toString { () => { @@ -152,7 +152,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionWindow.elementSrc(scriptURL) script->Window.elementOnerror(err => { - Js.log2("ERROR DURING LOADING APPLE PAY", err) + Console.log2("ERROR DURING LOADING APPLE PAY", err) }) Window.body->Window.appendChild(script) } @@ -166,7 +166,7 @@ let make = (publishableKey, options: option, analyticsInfo: optionWindow.elementSrc(googlePayScriptURL) googlePayScript->Window.elementOnerror(err => { - Utils.logInfo(Js.log2("ERROR DURING LOADING GOOGLE PAY SCRIPT", err)) + Utils.logInfo(Console.log2("ERROR DURING LOADING GOOGLE PAY SCRIPT", err)) }) Window.body->Window.appendChild(googlePayScript) logger.setLogInfo(~value="GooglePay Script Loaded", ~eventName=GOOGLE_PAY_SCRIPT, ()) diff --git a/src/orca-log-catcher/ErrorBoundary.res b/src/orca-log-catcher/ErrorBoundary.res index 0c2aca88..169d07bc 100644 --- a/src/orca-log-catcher/ErrorBoundary.res +++ b/src/orca-log-catcher/ErrorBoundary.res @@ -109,7 +109,7 @@ module ErrorCard = { if enableLogging && ["DEBUG", "INFO", "WARN", "ERROR"]->Array.includes(loggingLevel) { let errorLog: OrcaLogger.logFile = { logType: ERROR, - timestamp: Js.Date.now()->Belt.Float.toString, + timestamp: Date.now()->Belt.Float.toString, sessionId: "", source: "orca-elements", version: GlobalVars.repoVersion, diff --git a/src/orca-log-catcher/OrcaLogger.res b/src/orca-log-catcher/OrcaLogger.res index 6b664c82..f46d9ac6 100644 --- a/src/orca-log-catcher/OrcaLogger.res +++ b/src/orca-log-catcher/OrcaLogger.res @@ -524,7 +524,7 @@ let make = ( } let calculateLatencyHook = (~eventName, ~type_="", ()) => { - let currentTimestamp = Js.Date.now() + let currentTimestamp = Date.now() let latency = switch eventName { | PAYMENT_ATTEMPT => { let appRenderedTimestamp = events.contents->Dict.get(APP_RENDERED->eventNameToStrMapper) @@ -564,8 +564,8 @@ let make = ( let eventNameStr = eventName->eventNameToStrMapper let firstEvent = events.contents->Dict.get(eventNameStr)->Option.isNone let latency = calculateLatencyHook(~eventName, ()) - let localTimestamp = timestamp->Option.getOr(Js.Date.now()->Belt.Float.toString) - let localTimestampFloat = localTimestamp->Belt.Float.fromString->Option.getOr(Js.Date.now()) + let localTimestamp = timestamp->Option.getOr(Date.now()->Belt.Float.toString) + let localTimestampFloat = localTimestamp->Belt.Float.fromString->Option.getOr(Date.now()) { logType, timestamp: localTimestamp, @@ -616,8 +616,8 @@ let make = ( let eventNameStr = eventName->eventNameToStrMapper let firstEvent = events.contents->Dict.get(eventNameStr)->Option.isNone let latency = calculateLatencyHook(~eventName, ~type_, ()) - let localTimestamp = timestamp->Option.getOr(Js.Date.now()->Belt.Float.toString) - let localTimestampFloat = localTimestamp->Belt.Float.fromString->Option.getOr(Js.Date.now()) + let localTimestamp = timestamp->Option.getOr(Date.now()->Belt.Float.toString) + let localTimestampFloat = localTimestamp->Belt.Float.fromString->Option.getOr(Date.now()) { logType, timestamp: localTimestamp, @@ -667,8 +667,8 @@ let make = ( let eventNameStr = eventName->eventNameToStrMapper let firstEvent = events.contents->Dict.get(eventNameStr)->Option.isNone let latency = calculateLatencyHook(~eventName, ()) - let localTimestamp = timestamp->Option.getOr(Js.Date.now()->Belt.Float.toString) - let localTimestampFloat = localTimestamp->Belt.Float.fromString->Option.getOr(Js.Date.now()) + let localTimestamp = timestamp->Option.getOr(Date.now()->Belt.Float.toString) + let localTimestampFloat = localTimestamp->Belt.Float.fromString->Option.getOr(Date.now()) { logType, timestamp: localTimestamp, @@ -707,7 +707,7 @@ let make = ( { logType: INFO, eventName, - timestamp: Js.Date.now()->Belt.Float.toString, + timestamp: Date.now()->Belt.Float.toString, sessionId: sessionId.contents, source: sourceString, version: GlobalVars.repoVersion, @@ -731,7 +731,7 @@ let make = ( ->conditionalLogPush ->ignore checkLogSizeAndSendData() - events.contents->Dict.set(eventNameStr, Js.Date.now()) + events.contents->Dict.set(eventNameStr, Date.now()) } let handleBeforeUnload = _event => { diff --git a/src/orca-log-catcher/Sentry.res b/src/orca-log-catcher/Sentry.res index 6bede89d..85cb1c3e 100644 --- a/src/orca-log-catcher/Sentry.res +++ b/src/orca-log-catcher/Sentry.res @@ -90,7 +90,7 @@ let initiateSentry = (~dsn) => { }, }) } catch { - | err => Js.log(err) + | err => Console.log(err) } } @@ -108,7 +108,7 @@ let initiateSentryJs = (~dsn) => { }, }) } catch { - | err => Js.log(err) + | err => Console.log(err) } } From 0ff71b6f6fd5568eb9b9ed4d563ed5f9ecb5473d Mon Sep 17 00:00:00 2001 From: Pritish Budhiraja <1805317@kiit.ac.in> Date: Thu, 7 Mar 2024 14:29:59 +0530 Subject: [PATCH 11/17] refactor: regex core changes --- src/Components/AddressPaymentInput.res | 10 +- src/Payment.res | 4 +- src/Utilities/ErrorUtils.res | 4 +- src/Utilities/Utils.res | 2 +- src/libraries/Promise.res | 6 +- src/libraries/Promise.resi | 244 ++----------------------- src/orca-loader/Elements.res | 2 +- src/orca-log-catcher/OrcaLogger.res | 14 +- src/orca-log-catcher/Sentry.res | 10 +- 9 files changed, 45 insertions(+), 251 deletions(-) diff --git a/src/Components/AddressPaymentInput.res b/src/Components/AddressPaymentInput.res index 70f1e80f..60bd82b4 100644 --- a/src/Components/AddressPaymentInput.res +++ b/src/Components/AddressPaymentInput.res @@ -72,14 +72,14 @@ let make = (~paymentType, ~className="") => { ) => unit, regex, ) => { - if Js.Re.test_(regex->Js.Re.fromString, postal.value) && postal.value !== "" && regex !== "" { + if RegExp.test(regex->RegExp.fromString, postal.value) && postal.value !== "" && regex !== "" { setPostal(.prev => { ...prev, isValid: Some(true), errorString: "", }) } else if ( - regex !== "" && !Js.Re.test_(regex->Js.Re.fromString, postal.value) && postal.value !== "" + regex !== "" && !RegExp.test(regex->RegExp.fromString, postal.value) && postal.value !== "" ) { setPostal(.prev => { ...prev, @@ -130,20 +130,20 @@ let make = (~paymentType, ~className="") => { value: val, errorString: "", }) - if regex !== "" && Js.Re.test_(regex->Js.Re.fromString, val) { + if regex !== "" && RegExp.test(regex->RegExp.fromString, val) { CardUtils.blurRef(postalRef) } } let onPostalBlur = ev => { let val = ReactEvent.Focus.target(ev)["value"] - if regex !== "" && Js.Re.test_(regex->Js.Re.fromString, val) && val !== "" { + if regex !== "" && RegExp.test(regex->RegExp.fromString, val) && val !== "" { setPostalCode(.prev => { ...prev, isValid: Some(true), errorString: "", }) - } else if regex !== "" && !Js.Re.test_(regex->Js.Re.fromString, val) && val !== "" { + } else if regex !== "" && !RegExp.test(regex->RegExp.fromString, val) && val !== "" { setPostalCode(.prev => { ...prev, isValid: Some(false), diff --git a/src/Payment.res b/src/Payment.res index 440e04b8..35df0863 100644 --- a/src/Payment.res +++ b/src/Payment.res @@ -133,7 +133,7 @@ let make = (~paymentMode, ~integrateError, ~logger) => { let val = ReactEvent.Form.target(ev)["value"] logInputChangeInfo("zipCode", logger) let regex = postalRegex(postalCodes, ()) - if regex !== "" && Js.Re.test_(regex->Js.Re.fromString, val) { + if regex !== "" && RegExp.test(regex->RegExp.fromString, val) { blurRef(zipRef) } setZipCode(_ => val) @@ -193,7 +193,7 @@ let make = (~paymentMode, ~integrateError, ~logger) => { let handleZipBlur = ev => { let zipCode = ReactEvent.Focus.target(ev)["value"] let regex = postalRegex(postalCodes, ()) - if Js.Re.test_(regex->Js.Re.fromString, zipCode) || regex == "" { + if RegExp.test(regex->RegExp.fromString, zipCode) || regex == "" { setIsZipValid(_ => Some(true)) } else if zipCode->String.length == 0 { setIsZipValid(_ => None) diff --git a/src/Utilities/ErrorUtils.res b/src/Utilities/ErrorUtils.res index df397a86..e9dd9747 100644 --- a/src/Utilities/ErrorUtils.res +++ b/src/Utilities/ErrorUtils.res @@ -128,7 +128,7 @@ let manageErrorWarning = ( (), ) Js.Console.error(string) - Js.Exn.raiseError(string) + Exn.raiseError(string) | (Warning, Static(string)) => logger.setLogError( ~value=string, @@ -147,7 +147,7 @@ let manageErrorWarning = ( (), ) Js.Console.error(fn(dynamicStr)) - Js.Exn.raiseError(fn(dynamicStr)) + Exn.raiseError(fn(dynamicStr)) | (Warning, Dynamic(fn)) => logger.setLogError( ~value=fn(dynamicStr), diff --git a/src/Utilities/Utils.res b/src/Utilities/Utils.res index 26d98ef4..eb76ff1f 100644 --- a/src/Utilities/Utils.res +++ b/src/Utilities/Utils.res @@ -400,7 +400,7 @@ let validatePhoneNumber = (countryCode, number) => { | Some(obj) => let regex = obj->Dict.get("validation_regex")->Option.flatMap(JSON.Decode.string)->Option.getOr("") - Js.Re.test_(regex->Js.Re.fromString, number) + RegExp.test(regex->RegExp.fromString, number) | None => false } } diff --git a/src/libraries/Promise.res b/src/libraries/Promise.res index 3c067174..5bb114b7 100644 --- a/src/libraries/Promise.res +++ b/src/libraries/Promise.res @@ -1,7 +1,7 @@ type t<+'a> = Promise.t<'a> -exception JsError(Js.Exn.t) -external unsafeToJsExn: exn => Js.Exn.t = "%identity" +exception JsError(Exn.t) +external unsafeToJsExn: exn => Exn.t = "%identity" @new external make: ((@uncurry (. 'a) => unit, (. 'e) => unit) => unit) => t<'a> = "Promise" @@ -42,7 +42,7 @@ external _catch: (t<'a>, @uncurry (exn => t<'a>)) => t<'a> = "catch" let catch = (promise, callback) => { _catch(promise, err => { - let v = if Js.Exn.isCamlExceptionOrOpenVariant(err) { + let v = if Exn.isCamlExceptionOrOpenVariant(err) { err } else { JsError(unsafeToJsExn(err)) diff --git a/src/libraries/Promise.resi b/src/libraries/Promise.resi index b279c718..d3286b84 100644 --- a/src/libraries/Promise.resi +++ b/src/libraries/Promise.resi @@ -1,236 +1,30 @@ -// The +'a marks the abstract type parameter as covariant, which essentially means that -// a value of type 'a is immutable and may not be used in some mutable context. -// -// This makes sense for promises, since according to their specification, once a promise has -// been resolved (with a specific value), it will never change its resolved value. -// -// More details about polymorphism / invariance / covariance,... can be found here: -// https://caml.inria.fr/pub/docs/manual-ocaml/polymorphism.html#ss:variance:abstract-data-types -type t<+'a> = Promise.t<'a> - -// JsError is currently a shim exception and will be deprecated for -// ReScript version >= 9.0. -// -// See following merged compiler PR for more context: -// https://github.com/rescript-lang/rescript-compiler/pull/4905 -exception JsError(Js.Exn.t) - -@ocaml.doc(" -[resolve(value)] creates a resolved Promise with a given `value` - -```rescript -let p = Promise.resolve(5) // Promise.t -``` -") -@val -@scope("Promise") -external resolve: 'a => t<'a> = "resolve" - -@scope("Promise") @val -external reject: exn => t<_> = "reject" - -@ocaml.doc(" -`make(callback)` creates a new Promise based on a `callback` that receives two -uncurried functions `resolve` and `reject` for defining the Promise's result. - -```rescript -open Promise - -let n = 4 -Promise.make((resolve, reject) => { - if(n < 5) { - resolve(. \"success\") - } - else { - reject(. \"failed\") - } -}) -->then(str => { - Js.log(str)->resolve -}) -->catch(e => { - Js.log(\"Error occurred\") - resolve() -}) -->ignore -``` -") +type t<'a> = RescriptCore.Promise.t<'a> +type exn += JsError(RescriptCore.Exn.t) +external unsafeToJsExn: exn => RescriptCore.Exn.t = "%identity" @new external make: ((@uncurry (. 'a) => unit, (. 'e) => unit) => unit) => t<'a> = "Promise" - -@ocaml.doc(" -`catch(promise, errorCallback)` registers an exception handler in a promise chain. -The `errorCallback` receives an `exn` value that can later be refined into a JS error or ReScript -error. The `errorCallback` needs to return a promise with the same type as the consumed promise. - -```rescript -open Promise - -exception SomeError(string) - -reject(SomeError(\"this is an error\")) -->then(_ => { - Ok(\"This result will never be returned\")->resolve -}) -->catch(e => { - let msg = switch(e) { - | SomeError(msg) => \"ReScript error occurred: \" ++ msg - | JsError(obj) => - switch Js.Exn.message(obj) { - | Some(msg) => \"JS exception occurred: \" ++ msg - | None => \"Some other JS value has been thrown\" - } - | _ => \"Unexpected error occurred\" - } - - Error(msg)->resolve -}) -->then(result => { - switch result { - | Ok(r) => Js.log2(\"Operation successful: \", r) - | Error(msg) => Js.log2(\"Operation failed: \", msg) - }->resolve -}) -->ignore // Ignore needed for side-effects -``` - -In case you want to return another promise in your `callback`, consider using \`then\` instead. -") -let catch: (t<'a>, exn => t<'a>) => t<'a> - -@ocaml.doc(" -`then(promise, callback)` returns a new promise based on the result of `promise`'s value. -The `callback` needs to explicitly return a new promise via `resolve`. - -It is **not allowed** to resolve a nested promise (like `resolve(resolve(1))`). - -```rescript -Promise.resolve(5) -->then(num => { - resolve(num + 5) -}) -->then(num => { - Js.log2(\"Your lucky number is: \", num) - resolve() -}) -->ignore -``` -") -@send -external then: (t<'a>, @uncurry ('a => t<'b>)) => t<'b> = "then" - -@ocaml.doc(" -`thenResolve(promise, callback)` converts an encapsulated value of a promise into another promise wrapped value. - -It is **not allowed** to return a promise within the provided callback (e.g. `thenResolve(value => resolve(value))`). - -```rescript -resolve(\"Anna\") -->thenResolve(str => { - \"Hello \" ++ str -}) -->thenResolve(str => { - Js.log(str) -}) -->ignore // Ignore needed for side-effects -``` - -In case you want to return another promise in your `callback`, consider using \`then\` instead. -") +@val @scope("Promise") +external resolve: 'a => t<'a> = "resolve" +@send external then: (t<'a>, @uncurry ('a => t<'b>)) => t<'b> = "then" @send external thenResolve: (t<'a>, @uncurry ('a => 'b)) => t<'b> = "then" - -@ocaml.doc(" -[finally(promise, callback)] is used to execute a function that is called no matter if a promise -was resolved or rejected. It will return the same `promise` it originally received. - -```rescript -exception SomeError(string) -let isDone = ref(false) - -resolve(5) -->then(_ => { - reject(TestError(\"test\")) -}) -->then(v => { - Js.log2(\"final result\", v) - resolve() -}) -->catch(_ => { - Js.log(\"Error handled\") - resolve() -}) -->finally(() => { - Js.log(\"finally\") - isDone := true -}) -->then(() => { - Js.log2(\"isDone:\", isDone.contents) - resolve() -}) -->ignore -``` -") -@send -external finally: (t<'a>, unit => unit) => t<'a> = "finally" - -/* Combining promises. */ +@send external finally: (t<'a>, unit => unit) => t<'a> = "finally" +@scope("Promise") @val +external reject: exn => t<_> = "reject" @scope("Promise") @val -external race: array> => t<'a> = "race" - -@ocaml.doc(" -[all(promises)] runs all promises in parallel and returns a new promise resolving all gathered results in a unified array. - -```rescript -open Promise -let promises = [resolve(1), resolve(2), resolve(3)] - -all(promises) -->then((results) => { - Belt.Array.forEach(results, (num) => { - Js.log2(\"Number: \", num) - }) - - resolve() -}) -->ignore -``` -") -@scope("Promise") -@val external all: array> => t> = "all" - -@ocaml.doc(" -[all2((p1, p2))]. Like `all()`, but with a fixed size tuple of 2 -") -@scope("Promise") -@val +@scope("Promise") @val external all2: ((t<'a>, t<'b>)) => t<('a, 'b)> = "all" - -@ocaml.doc(" -[all3((p1, p2, p3))]. Like `all()`, but with a fixed size tuple of 3 -") -@scope("Promise") -@val +@scope("Promise") @val external all3: ((t<'a>, t<'b>, t<'c>)) => t<('a, 'b, 'c)> = "all" - -@ocaml.doc(" -[all4((p1, p2, p3, p4))]. Like `all()`, but with a fixed size tuple of 4 -") -@scope("Promise") -@val +@scope("Promise") @val external all4: ((t<'a>, t<'b>, t<'c>, t<'d>)) => t<('a, 'b, 'c, 'd)> = "all" - -@ocaml.doc(" -[all5((p1, p2, p3, p4, p5))]. Like `all()`, but with a fixed size tuple of 5 -") -@scope("Promise") -@val +@scope("Promise") @val external all5: ((t<'a>, t<'b>, t<'c>, t<'d>, t<'e>)) => t<('a, 'b, 'c, 'd, 'e)> = "all" - -@ocaml.doc(" -[all6((p1, p2, p4, p5, p6))]. Like `all()`, but with a fixed size tuple of 6 -") -@scope("Promise") -@val +@scope("Promise") @val external all6: ((t<'a>, t<'b>, t<'c>, t<'d>, t<'e>, t<'f>)) => t<('a, 'b, 'c, 'd, 'e, 'f)> = "all" +@send +external _catch: (t<'a>, @uncurry (exn => t<'a>)) => t<'a> = "catch" +let catch: (t<'a>, exn => t<'a>) => t<'a> +@scope("Promise") @val +external race: array> => t<'a> = "race" diff --git a/src/orca-loader/Elements.res b/src/orca-loader/Elements.res index c745f04d..43fedc02 100644 --- a/src/orca-loader/Elements.res +++ b/src/orca-loader/Elements.res @@ -78,7 +78,7 @@ let make = ( let locale = localOptions->getJsonStringFromDict("locale", "") let loader = localOptions->getJsonStringFromDict("loader", "") let clientSecret = localOptions->getRequiredString("clientSecret", "", ~logger) - let clientSecretReMatch = Js.Re.test_(`.+_secret_[A-Za-z0-9]+`->Js.Re.fromString, clientSecret) + let clientSecretReMatch = RegExp.test(`.+_secret_[A-Za-z0-9]+`->RegExp.fromString, clientSecret) let fetchPaymentsList = mountedIframeRef => { open Promise paymentMethodListPromise diff --git a/src/orca-log-catcher/OrcaLogger.res b/src/orca-log-catcher/OrcaLogger.res index f46d9ac6..fb6b03d5 100644 --- a/src/orca-log-catcher/OrcaLogger.res +++ b/src/orca-log-catcher/OrcaLogger.res @@ -313,7 +313,7 @@ let findVersion = (re, content) => { } let browserDetect = content => { - if Js.Re.test_("Edg"->Js.Re.fromString, content) { + if RegExp.test("Edg"->RegExp.fromString, content) { let re = %re("/Edg\/([\d]+\.[\w]?\.?[\w]+)/ig") let version = switch findVersion(re, content) ->Belt.Array.get(1) @@ -323,7 +323,7 @@ let browserDetect = content => { | None => "" } `Microsoft Edge-${version}` - } else if Js.Re.test_("Chrome"->Js.Re.fromString, content) { + } else if RegExp.test("Chrome"->RegExp.fromString, content) { let re = %re("/Chrome\/([\d]+\.[\w]?\.?[\w]+)/ig") let version = switch findVersion(re, content) ->Belt.Array.get(1) @@ -333,7 +333,7 @@ let browserDetect = content => { | None => "" } `Chrome-${version}` - } else if Js.Re.test_("Safari"->Js.Re.fromString, content) { + } else if RegExp.test("Safari"->RegExp.fromString, content) { let re = %re("/Safari\/([\d]+\.[\w]?\.?[\w]+)/ig") let version = switch findVersion(re, content) ->Belt.Array.get(1) @@ -343,7 +343,7 @@ let browserDetect = content => { | None => "" } `Safari-${version}` - } else if Js.Re.test_("opera"->Js.Re.fromString, content) { + } else if RegExp.test("opera"->RegExp.fromString, content) { let re = %re("/Opera\/([\d]+\.[\w]?\.?[\w]+)/ig") let version = switch findVersion(re, content) ->Belt.Array.get(1) @@ -354,10 +354,10 @@ let browserDetect = content => { } `Opera-${version}` } else if ( - Js.Re.test_("Firefox"->Js.Re.fromString, content) || - Js.Re.test_("fxios"->Js.Re.fromString, content) + RegExp.test("Firefox"->RegExp.fromString, content) || + RegExp.test("fxios"->RegExp.fromString, content) ) { - if Js.Re.test_("Firefox"->Js.Re.fromString, content) { + if RegExp.test("Firefox"->RegExp.fromString, content) { let re = %re("/Firefox\/([\d]+\.[\w]?\.?[\w]+)/ig") let version = switch findVersion(re, content) ->Belt.Array.get(1) diff --git a/src/orca-log-catcher/Sentry.res b/src/orca-log-catcher/Sentry.res index 85cb1c3e..ce1ea749 100644 --- a/src/orca-log-catcher/Sentry.res +++ b/src/orca-log-catcher/Sentry.res @@ -4,8 +4,8 @@ type instrumentation type tag = {mutable tag: string} type hint = {originalException: tag} -external toJson: Js.Exn.t => tag = "%identity" -external toExn: tag => Js.Exn.t = "%identity" +external toJson: Exn.t => tag = "%identity" +external toExn: tag => Exn.t = "%identity" type event type sentryInitArg = { dsn: string, @@ -17,7 +17,7 @@ type sentryInitArg = { beforeSend: (event, hint) => option, } -external exnToJsExn: exn => option = "%identity" +external exnToJsExn: exn => option = "%identity" @module("react") external useEffect: (. unit => option unit>) => unit = "useEffect" @@ -44,7 +44,7 @@ external newSentryReplay: unit => integration = "Replay" external initSentryJs: sentryInitArg => unit = "init" @val @scope("Sentry") -external capture: (. Js.Exn.t) => unit = "captureException" +external capture: (. Exn.t) => unit = "captureException" @new external newSentryReplayJs: unit => integration = "Sentry.Replay" @@ -54,7 +54,7 @@ external newBrowserTracingJs: unit => integration = "Sentry.BrowserTracing" module ErrorBoundary = { type fallbackArg = { - error: Js.Exn.t, + error: Exn.t, componentStack: array, resetError: unit => unit, } From 8aa21a424a936ae63e9c3553bbbc73300e6ffa48 Mon Sep 17 00:00:00 2001 From: Pritish Budhiraja <1805317@kiit.ac.in> Date: Fri, 8 Mar 2024 17:38:02 +0530 Subject: [PATCH 12/17] fix: package-lock --- package-lock.json | 6153 ++++++++++++++++++++++++++++++--------------- 1 file changed, 4086 insertions(+), 2067 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8097ee12..1d8a377a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,12 +17,12 @@ "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==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, "@apideck/better-ajv-errors": { @@ -178,552 +178,550 @@ } }, "@aws-sdk/client-cloudfront": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudfront/-/client-cloudfront-3.521.0.tgz", - "integrity": "sha512-kGVM4gpriq4xbVf+mthizqaY9QfwL9nYoshheDy8mfEp2+cChem8sVCXzvur70XPS884rGvpd2/1ymHw2xH4cw==", + "version": "3.529.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudfront/-/client-cloudfront-3.529.1.tgz", + "integrity": "sha512-bZMOxDimIelC0On0H37LUhFzlSxLtox/gQJmlXS/53mTZW/NYGacRmvW/IskHTtOH+Le4ggh+cDZfH0hgonPQg==", "requires": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.521.0", - "@aws-sdk/core": "3.521.0", - "@aws-sdk/credential-provider-node": "3.521.0", - "@aws-sdk/middleware-host-header": "3.521.0", - "@aws-sdk/middleware-logger": "3.521.0", - "@aws-sdk/middleware-recursion-detection": "3.521.0", - "@aws-sdk/middleware-user-agent": "3.521.0", - "@aws-sdk/region-config-resolver": "3.521.0", - "@aws-sdk/types": "3.521.0", - "@aws-sdk/util-endpoints": "3.521.0", - "@aws-sdk/util-user-agent-browser": "3.521.0", - "@aws-sdk/util-user-agent-node": "3.521.0", - "@aws-sdk/xml-builder": "3.521.0", - "@smithy/config-resolver": "^2.1.2", - "@smithy/core": "^1.3.3", - "@smithy/fetch-http-handler": "^2.4.2", - "@smithy/hash-node": "^2.1.2", - "@smithy/invalid-dependency": "^2.1.2", - "@smithy/middleware-content-length": "^2.1.2", - "@smithy/middleware-endpoint": "^2.4.2", - "@smithy/middleware-retry": "^2.1.2", - "@smithy/middleware-serde": "^2.1.2", - "@smithy/middleware-stack": "^2.1.2", - "@smithy/node-config-provider": "^2.2.2", - "@smithy/node-http-handler": "^2.4.0", - "@smithy/protocol-http": "^3.2.0", - "@smithy/smithy-client": "^2.4.0", - "@smithy/types": "^2.10.0", - "@smithy/url-parser": "^2.1.2", + "@aws-sdk/client-sts": "3.529.1", + "@aws-sdk/core": "3.529.1", + "@aws-sdk/credential-provider-node": "3.529.1", + "@aws-sdk/middleware-host-header": "3.523.0", + "@aws-sdk/middleware-logger": "3.523.0", + "@aws-sdk/middleware-recursion-detection": "3.523.0", + "@aws-sdk/middleware-user-agent": "3.525.0", + "@aws-sdk/region-config-resolver": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.525.0", + "@aws-sdk/util-user-agent-browser": "3.523.0", + "@aws-sdk/util-user-agent-node": "3.525.0", + "@aws-sdk/xml-builder": "3.523.0", + "@smithy/config-resolver": "^2.1.4", + "@smithy/core": "^1.3.5", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/hash-node": "^2.1.3", + "@smithy/invalid-dependency": "^2.1.3", + "@smithy/middleware-content-length": "^2.1.3", + "@smithy/middleware-endpoint": "^2.4.4", + "@smithy/middleware-retry": "^2.1.4", + "@smithy/middleware-serde": "^2.1.3", + "@smithy/middleware-stack": "^2.1.3", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", "@smithy/util-base64": "^2.1.1", "@smithy/util-body-length-browser": "^2.1.1", "@smithy/util-body-length-node": "^2.2.1", - "@smithy/util-defaults-mode-browser": "^2.1.2", - "@smithy/util-defaults-mode-node": "^2.2.1", - "@smithy/util-endpoints": "^1.1.2", - "@smithy/util-middleware": "^2.1.2", - "@smithy/util-retry": "^2.1.2", - "@smithy/util-stream": "^2.1.2", + "@smithy/util-defaults-mode-browser": "^2.1.4", + "@smithy/util-defaults-mode-node": "^2.2.3", + "@smithy/util-endpoints": "^1.1.4", + "@smithy/util-middleware": "^2.1.3", + "@smithy/util-retry": "^2.1.3", + "@smithy/util-stream": "^2.1.3", "@smithy/util-utf8": "^2.1.1", - "@smithy/util-waiter": "^2.1.2", - "fast-xml-parser": "4.2.5", + "@smithy/util-waiter": "^2.1.3", "tslib": "^2.5.0" } }, "@aws-sdk/client-s3": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.521.0.tgz", - "integrity": "sha512-txSfcxezAIW72dgRfhX+plc/lMouilY/QFVne/Cv01SL8Tzclcyp7T7LtkV7aSO4Tb9CUScHdqwWOfjZzCm/yQ==", + "version": "3.529.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.529.1.tgz", + "integrity": "sha512-ZpvyO4w3XWo/OjXLd3fm7CLcKUUYcyady9qzTnKKSnp8a2NqO7UvU/1zhYdm+yyy8TR/9t7sDy+q6AYd4Nsr8g==", "requires": { "@aws-crypto/sha1-browser": "3.0.0", "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.521.0", - "@aws-sdk/core": "3.521.0", - "@aws-sdk/credential-provider-node": "3.521.0", - "@aws-sdk/middleware-bucket-endpoint": "3.521.0", - "@aws-sdk/middleware-expect-continue": "3.521.0", - "@aws-sdk/middleware-flexible-checksums": "3.521.0", - "@aws-sdk/middleware-host-header": "3.521.0", - "@aws-sdk/middleware-location-constraint": "3.521.0", - "@aws-sdk/middleware-logger": "3.521.0", - "@aws-sdk/middleware-recursion-detection": "3.521.0", - "@aws-sdk/middleware-sdk-s3": "3.521.0", - "@aws-sdk/middleware-signing": "3.521.0", - "@aws-sdk/middleware-ssec": "3.521.0", - "@aws-sdk/middleware-user-agent": "3.521.0", - "@aws-sdk/region-config-resolver": "3.521.0", - "@aws-sdk/signature-v4-multi-region": "3.521.0", - "@aws-sdk/types": "3.521.0", - "@aws-sdk/util-endpoints": "3.521.0", - "@aws-sdk/util-user-agent-browser": "3.521.0", - "@aws-sdk/util-user-agent-node": "3.521.0", - "@aws-sdk/xml-builder": "3.521.0", - "@smithy/config-resolver": "^2.1.2", - "@smithy/core": "^1.3.3", - "@smithy/eventstream-serde-browser": "^2.1.2", - "@smithy/eventstream-serde-config-resolver": "^2.1.2", - "@smithy/eventstream-serde-node": "^2.1.2", - "@smithy/fetch-http-handler": "^2.4.2", - "@smithy/hash-blob-browser": "^2.1.2", - "@smithy/hash-node": "^2.1.2", - "@smithy/hash-stream-node": "^2.1.2", - "@smithy/invalid-dependency": "^2.1.2", - "@smithy/md5-js": "^2.1.2", - "@smithy/middleware-content-length": "^2.1.2", - "@smithy/middleware-endpoint": "^2.4.2", - "@smithy/middleware-retry": "^2.1.2", - "@smithy/middleware-serde": "^2.1.2", - "@smithy/middleware-stack": "^2.1.2", - "@smithy/node-config-provider": "^2.2.2", - "@smithy/node-http-handler": "^2.4.0", - "@smithy/protocol-http": "^3.2.0", - "@smithy/smithy-client": "^2.4.0", - "@smithy/types": "^2.10.0", - "@smithy/url-parser": "^2.1.2", + "@aws-sdk/client-sts": "3.529.1", + "@aws-sdk/core": "3.529.1", + "@aws-sdk/credential-provider-node": "3.529.1", + "@aws-sdk/middleware-bucket-endpoint": "3.525.0", + "@aws-sdk/middleware-expect-continue": "3.523.0", + "@aws-sdk/middleware-flexible-checksums": "3.523.0", + "@aws-sdk/middleware-host-header": "3.523.0", + "@aws-sdk/middleware-location-constraint": "3.523.0", + "@aws-sdk/middleware-logger": "3.523.0", + "@aws-sdk/middleware-recursion-detection": "3.523.0", + "@aws-sdk/middleware-sdk-s3": "3.525.0", + "@aws-sdk/middleware-signing": "3.523.0", + "@aws-sdk/middleware-ssec": "3.523.0", + "@aws-sdk/middleware-user-agent": "3.525.0", + "@aws-sdk/region-config-resolver": "3.525.0", + "@aws-sdk/signature-v4-multi-region": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.525.0", + "@aws-sdk/util-user-agent-browser": "3.523.0", + "@aws-sdk/util-user-agent-node": "3.525.0", + "@aws-sdk/xml-builder": "3.523.0", + "@smithy/config-resolver": "^2.1.4", + "@smithy/core": "^1.3.5", + "@smithy/eventstream-serde-browser": "^2.1.3", + "@smithy/eventstream-serde-config-resolver": "^2.1.3", + "@smithy/eventstream-serde-node": "^2.1.3", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/hash-blob-browser": "^2.1.3", + "@smithy/hash-node": "^2.1.3", + "@smithy/hash-stream-node": "^2.1.3", + "@smithy/invalid-dependency": "^2.1.3", + "@smithy/md5-js": "^2.1.3", + "@smithy/middleware-content-length": "^2.1.3", + "@smithy/middleware-endpoint": "^2.4.4", + "@smithy/middleware-retry": "^2.1.4", + "@smithy/middleware-serde": "^2.1.3", + "@smithy/middleware-stack": "^2.1.3", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", "@smithy/util-base64": "^2.1.1", "@smithy/util-body-length-browser": "^2.1.1", "@smithy/util-body-length-node": "^2.2.1", - "@smithy/util-defaults-mode-browser": "^2.1.2", - "@smithy/util-defaults-mode-node": "^2.2.1", - "@smithy/util-endpoints": "^1.1.2", - "@smithy/util-retry": "^2.1.2", - "@smithy/util-stream": "^2.1.2", + "@smithy/util-defaults-mode-browser": "^2.1.4", + "@smithy/util-defaults-mode-node": "^2.2.3", + "@smithy/util-endpoints": "^1.1.4", + "@smithy/util-retry": "^2.1.3", + "@smithy/util-stream": "^2.1.3", "@smithy/util-utf8": "^2.1.1", - "@smithy/util-waiter": "^2.1.2", - "fast-xml-parser": "4.2.5", + "@smithy/util-waiter": "^2.1.3", "tslib": "^2.5.0" } }, "@aws-sdk/client-sso": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.521.0.tgz", - "integrity": "sha512-aEx8kEvWmTwCja6hvIZd5PvxHsI1HQZkckXhw1UrkDPnfcAwQoQAgselI7D+PVT5qQDIjXRm0NpsvBLaLj6jZw==", + "version": "3.529.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.529.1.tgz", + "integrity": "sha512-KT1U/ZNjDhVv2ZgjzaeAn9VM7l667yeSguMrRYC8qk5h91/61MbjZypi6eOuKuVM+0fsQvzKScTQz0Lio0eYag==", "requires": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.521.0", - "@aws-sdk/middleware-host-header": "3.521.0", - "@aws-sdk/middleware-logger": "3.521.0", - "@aws-sdk/middleware-recursion-detection": "3.521.0", - "@aws-sdk/middleware-user-agent": "3.521.0", - "@aws-sdk/region-config-resolver": "3.521.0", - "@aws-sdk/types": "3.521.0", - "@aws-sdk/util-endpoints": "3.521.0", - "@aws-sdk/util-user-agent-browser": "3.521.0", - "@aws-sdk/util-user-agent-node": "3.521.0", - "@smithy/config-resolver": "^2.1.2", - "@smithy/core": "^1.3.3", - "@smithy/fetch-http-handler": "^2.4.2", - "@smithy/hash-node": "^2.1.2", - "@smithy/invalid-dependency": "^2.1.2", - "@smithy/middleware-content-length": "^2.1.2", - "@smithy/middleware-endpoint": "^2.4.2", - "@smithy/middleware-retry": "^2.1.2", - "@smithy/middleware-serde": "^2.1.2", - "@smithy/middleware-stack": "^2.1.2", - "@smithy/node-config-provider": "^2.2.2", - "@smithy/node-http-handler": "^2.4.0", - "@smithy/protocol-http": "^3.2.0", - "@smithy/smithy-client": "^2.4.0", - "@smithy/types": "^2.10.0", - "@smithy/url-parser": "^2.1.2", + "@aws-sdk/core": "3.529.1", + "@aws-sdk/middleware-host-header": "3.523.0", + "@aws-sdk/middleware-logger": "3.523.0", + "@aws-sdk/middleware-recursion-detection": "3.523.0", + "@aws-sdk/middleware-user-agent": "3.525.0", + "@aws-sdk/region-config-resolver": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.525.0", + "@aws-sdk/util-user-agent-browser": "3.523.0", + "@aws-sdk/util-user-agent-node": "3.525.0", + "@smithy/config-resolver": "^2.1.4", + "@smithy/core": "^1.3.5", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/hash-node": "^2.1.3", + "@smithy/invalid-dependency": "^2.1.3", + "@smithy/middleware-content-length": "^2.1.3", + "@smithy/middleware-endpoint": "^2.4.4", + "@smithy/middleware-retry": "^2.1.4", + "@smithy/middleware-serde": "^2.1.3", + "@smithy/middleware-stack": "^2.1.3", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", "@smithy/util-base64": "^2.1.1", "@smithy/util-body-length-browser": "^2.1.1", "@smithy/util-body-length-node": "^2.2.1", - "@smithy/util-defaults-mode-browser": "^2.1.2", - "@smithy/util-defaults-mode-node": "^2.2.1", - "@smithy/util-endpoints": "^1.1.2", - "@smithy/util-middleware": "^2.1.2", - "@smithy/util-retry": "^2.1.2", + "@smithy/util-defaults-mode-browser": "^2.1.4", + "@smithy/util-defaults-mode-node": "^2.2.3", + "@smithy/util-endpoints": "^1.1.4", + "@smithy/util-middleware": "^2.1.3", + "@smithy/util-retry": "^2.1.3", "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" } }, "@aws-sdk/client-sso-oidc": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.521.0.tgz", - "integrity": "sha512-MhX0CjV/543MR7DRPr3lA4ZDpGGKopp8cyV4EkSGXB7LMN//eFKKDhuZDlpgWU+aFe2A3DIqlNJjqgs08W0cSA==", + "version": "3.529.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.529.1.tgz", + "integrity": "sha512-bimxCWAvRnVcluWEQeadXvHyzWlBWsuGVligsaVZaGF0TLSn0eLpzpN9B1EhHzTf7m0Kh/wGtPSH1JxO6PpB+A==", "requires": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.521.0", - "@aws-sdk/core": "3.521.0", - "@aws-sdk/middleware-host-header": "3.521.0", - "@aws-sdk/middleware-logger": "3.521.0", - "@aws-sdk/middleware-recursion-detection": "3.521.0", - "@aws-sdk/middleware-user-agent": "3.521.0", - "@aws-sdk/region-config-resolver": "3.521.0", - "@aws-sdk/types": "3.521.0", - "@aws-sdk/util-endpoints": "3.521.0", - "@aws-sdk/util-user-agent-browser": "3.521.0", - "@aws-sdk/util-user-agent-node": "3.521.0", - "@smithy/config-resolver": "^2.1.2", - "@smithy/core": "^1.3.3", - "@smithy/fetch-http-handler": "^2.4.2", - "@smithy/hash-node": "^2.1.2", - "@smithy/invalid-dependency": "^2.1.2", - "@smithy/middleware-content-length": "^2.1.2", - "@smithy/middleware-endpoint": "^2.4.2", - "@smithy/middleware-retry": "^2.1.2", - "@smithy/middleware-serde": "^2.1.2", - "@smithy/middleware-stack": "^2.1.2", - "@smithy/node-config-provider": "^2.2.2", - "@smithy/node-http-handler": "^2.4.0", - "@smithy/protocol-http": "^3.2.0", - "@smithy/smithy-client": "^2.4.0", - "@smithy/types": "^2.10.0", - "@smithy/url-parser": "^2.1.2", + "@aws-sdk/client-sts": "3.529.1", + "@aws-sdk/core": "3.529.1", + "@aws-sdk/middleware-host-header": "3.523.0", + "@aws-sdk/middleware-logger": "3.523.0", + "@aws-sdk/middleware-recursion-detection": "3.523.0", + "@aws-sdk/middleware-user-agent": "3.525.0", + "@aws-sdk/region-config-resolver": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.525.0", + "@aws-sdk/util-user-agent-browser": "3.523.0", + "@aws-sdk/util-user-agent-node": "3.525.0", + "@smithy/config-resolver": "^2.1.4", + "@smithy/core": "^1.3.5", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/hash-node": "^2.1.3", + "@smithy/invalid-dependency": "^2.1.3", + "@smithy/middleware-content-length": "^2.1.3", + "@smithy/middleware-endpoint": "^2.4.4", + "@smithy/middleware-retry": "^2.1.4", + "@smithy/middleware-serde": "^2.1.3", + "@smithy/middleware-stack": "^2.1.3", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", "@smithy/util-base64": "^2.1.1", "@smithy/util-body-length-browser": "^2.1.1", "@smithy/util-body-length-node": "^2.2.1", - "@smithy/util-defaults-mode-browser": "^2.1.2", - "@smithy/util-defaults-mode-node": "^2.2.1", - "@smithy/util-endpoints": "^1.1.2", - "@smithy/util-middleware": "^2.1.2", - "@smithy/util-retry": "^2.1.2", + "@smithy/util-defaults-mode-browser": "^2.1.4", + "@smithy/util-defaults-mode-node": "^2.2.3", + "@smithy/util-endpoints": "^1.1.4", + "@smithy/util-middleware": "^2.1.3", + "@smithy/util-retry": "^2.1.3", "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" } }, "@aws-sdk/client-sts": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.521.0.tgz", - "integrity": "sha512-f1J5NDbntcwIHJqhks89sQvk7UXPmN0X0BZ2mgpj6pWP+NlPqy+1t1bia8qRhEuNITaEigoq6rqe9xaf4FdY9A==", + "version": "3.529.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.529.1.tgz", + "integrity": "sha512-Rvk2Sr3MACQTOtngUU+omlf4E17k47dRVXR7OFRD6Ow5iGgC9tkN2q/ExDPW/ktPOmM0lSgzWyQ6/PC/Zq3HUg==", "requires": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.521.0", - "@aws-sdk/middleware-host-header": "3.521.0", - "@aws-sdk/middleware-logger": "3.521.0", - "@aws-sdk/middleware-recursion-detection": "3.521.0", - "@aws-sdk/middleware-user-agent": "3.521.0", - "@aws-sdk/region-config-resolver": "3.521.0", - "@aws-sdk/types": "3.521.0", - "@aws-sdk/util-endpoints": "3.521.0", - "@aws-sdk/util-user-agent-browser": "3.521.0", - "@aws-sdk/util-user-agent-node": "3.521.0", - "@smithy/config-resolver": "^2.1.2", - "@smithy/core": "^1.3.3", - "@smithy/fetch-http-handler": "^2.4.2", - "@smithy/hash-node": "^2.1.2", - "@smithy/invalid-dependency": "^2.1.2", - "@smithy/middleware-content-length": "^2.1.2", - "@smithy/middleware-endpoint": "^2.4.2", - "@smithy/middleware-retry": "^2.1.2", - "@smithy/middleware-serde": "^2.1.2", - "@smithy/middleware-stack": "^2.1.2", - "@smithy/node-config-provider": "^2.2.2", - "@smithy/node-http-handler": "^2.4.0", - "@smithy/protocol-http": "^3.2.0", - "@smithy/smithy-client": "^2.4.0", - "@smithy/types": "^2.10.0", - "@smithy/url-parser": "^2.1.2", + "@aws-sdk/core": "3.529.1", + "@aws-sdk/middleware-host-header": "3.523.0", + "@aws-sdk/middleware-logger": "3.523.0", + "@aws-sdk/middleware-recursion-detection": "3.523.0", + "@aws-sdk/middleware-user-agent": "3.525.0", + "@aws-sdk/region-config-resolver": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.525.0", + "@aws-sdk/util-user-agent-browser": "3.523.0", + "@aws-sdk/util-user-agent-node": "3.525.0", + "@smithy/config-resolver": "^2.1.4", + "@smithy/core": "^1.3.5", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/hash-node": "^2.1.3", + "@smithy/invalid-dependency": "^2.1.3", + "@smithy/middleware-content-length": "^2.1.3", + "@smithy/middleware-endpoint": "^2.4.4", + "@smithy/middleware-retry": "^2.1.4", + "@smithy/middleware-serde": "^2.1.3", + "@smithy/middleware-stack": "^2.1.3", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/url-parser": "^2.1.3", "@smithy/util-base64": "^2.1.1", "@smithy/util-body-length-browser": "^2.1.1", "@smithy/util-body-length-node": "^2.2.1", - "@smithy/util-defaults-mode-browser": "^2.1.2", - "@smithy/util-defaults-mode-node": "^2.2.1", - "@smithy/util-endpoints": "^1.1.2", - "@smithy/util-middleware": "^2.1.2", - "@smithy/util-retry": "^2.1.2", + "@smithy/util-defaults-mode-browser": "^2.1.4", + "@smithy/util-defaults-mode-node": "^2.2.3", + "@smithy/util-endpoints": "^1.1.4", + "@smithy/util-middleware": "^2.1.3", + "@smithy/util-retry": "^2.1.3", "@smithy/util-utf8": "^2.1.1", - "fast-xml-parser": "4.2.5", "tslib": "^2.5.0" } }, "@aws-sdk/core": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.521.0.tgz", - "integrity": "sha512-KovKmW7yg/P2HVG2dhV2DAJLyoeGelgsnSGHaktXo/josJ3vDGRNqqRSgVaqKFxnD98dPEMLrjkzZumNUNGvLw==", - "requires": { - "@smithy/core": "^1.3.3", - "@smithy/protocol-http": "^3.2.0", - "@smithy/signature-v4": "^2.1.1", - "@smithy/smithy-client": "^2.4.0", - "@smithy/types": "^2.10.0", + "version": "3.529.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.529.1.tgz", + "integrity": "sha512-Sj42sYPfaL9PHvvciMICxhyrDZjqnnvFbPKDmQL5aFKyXy122qx7RdVqUOQERDmMQfvJh6+0W1zQlLnre89q4Q==", + "requires": { + "@smithy/core": "^1.3.5", + "@smithy/protocol-http": "^3.2.1", + "@smithy/signature-v4": "^2.1.3", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "fast-xml-parser": "4.2.5", "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-env": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.521.0.tgz", - "integrity": "sha512-OwblTJNdDAoqYVwcNfhlKDp5z+DINrjBfC6ZjNdlJpTXgxT3IqzuilTJTlydQ+2eG7aXfV9OwTVRQWdCmzFuKA==", + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.523.0.tgz", + "integrity": "sha512-Y6DWdH6/OuMDoNKVzZlNeBc6f1Yjk1lYMjANKpIhMbkRCvLJw/PYZKOZa8WpXbTYdgg9XLjKybnLIb3ww3uuzA==", "requires": { - "@aws-sdk/types": "3.521.0", - "@smithy/property-provider": "^2.1.1", - "@smithy/types": "^2.10.0", + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-http": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.521.0.tgz", - "integrity": "sha512-yJM1yNGj2XFH8v6/ffWrFY5nC3/2+8qZ8c4mMMwZru8bYXeuSV4+NNfE59HUWvkAF7xP76u4gr4I8kNrMPTlfg==", - "requires": { - "@aws-sdk/types": "3.521.0", - "@smithy/fetch-http-handler": "^2.4.2", - "@smithy/node-http-handler": "^2.4.0", - "@smithy/property-provider": "^2.1.1", - "@smithy/protocol-http": "^3.2.0", - "@smithy/smithy-client": "^2.4.0", - "@smithy/types": "^2.10.0", - "@smithy/util-stream": "^2.1.2", + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.525.0.tgz", + "integrity": "sha512-RNWQGuSBQZhl3iqklOslUEfQ4br1V3DCPboMpeqFtddUWJV3m2u2extFur9/4Uy+1EHVF120IwZUKtd8dF+ibw==", + "requires": { + "@aws-sdk/types": "3.523.0", + "@smithy/fetch-http-handler": "^2.4.3", + "@smithy/node-http-handler": "^2.4.1", + "@smithy/property-provider": "^2.1.3", + "@smithy/protocol-http": "^3.2.1", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", + "@smithy/util-stream": "^2.1.3", "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-ini": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.521.0.tgz", - "integrity": "sha512-HuhP1AlKgvBBxUIwxL/2DsDemiuwgbz1APUNSeJhDBF6JyZuxR0NU8zEZkvH9b4ukTcmcKGABpY0Wex4rAh3xw==", - "requires": { - "@aws-sdk/client-sts": "3.521.0", - "@aws-sdk/credential-provider-env": "3.521.0", - "@aws-sdk/credential-provider-process": "3.521.0", - "@aws-sdk/credential-provider-sso": "3.521.0", - "@aws-sdk/credential-provider-web-identity": "3.521.0", - "@aws-sdk/types": "3.521.0", - "@smithy/credential-provider-imds": "^2.2.1", - "@smithy/property-provider": "^2.1.1", - "@smithy/shared-ini-file-loader": "^2.3.1", - "@smithy/types": "^2.10.0", + "version": "3.529.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.529.1.tgz", + "integrity": "sha512-RjHsuTvHIwXG7a/3ERexemiD3c9riKMCZQzY2/b0Gg0ButEVbBcMfERtUzWmQ0V4ufe/PEZjP68MH1gupcoF9A==", + "requires": { + "@aws-sdk/client-sts": "3.529.1", + "@aws-sdk/credential-provider-env": "3.523.0", + "@aws-sdk/credential-provider-process": "3.523.0", + "@aws-sdk/credential-provider-sso": "3.529.1", + "@aws-sdk/credential-provider-web-identity": "3.529.1", + "@aws-sdk/types": "3.523.0", + "@smithy/credential-provider-imds": "^2.2.3", + "@smithy/property-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.3.3", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-node": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.521.0.tgz", - "integrity": "sha512-N9SR4gWI10qh4V2myBcTw8IlX3QpsMMxa4Q8d/FHiAX6eNV7e6irXkXX8o7+J1gtCRy1AtBMqAdGsve4GVqYMQ==", - "requires": { - "@aws-sdk/credential-provider-env": "3.521.0", - "@aws-sdk/credential-provider-http": "3.521.0", - "@aws-sdk/credential-provider-ini": "3.521.0", - "@aws-sdk/credential-provider-process": "3.521.0", - "@aws-sdk/credential-provider-sso": "3.521.0", - "@aws-sdk/credential-provider-web-identity": "3.521.0", - "@aws-sdk/types": "3.521.0", - "@smithy/credential-provider-imds": "^2.2.1", - "@smithy/property-provider": "^2.1.1", - "@smithy/shared-ini-file-loader": "^2.3.1", - "@smithy/types": "^2.10.0", + "version": "3.529.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.529.1.tgz", + "integrity": "sha512-mvY7F3dMmk/0dZOCfl5sUI1bG0osureBjxhELGCF0KkJqhWI0hIzh8UnPkYytSg3vdc97CMv7pTcozxrdA3b0g==", + "requires": { + "@aws-sdk/credential-provider-env": "3.523.0", + "@aws-sdk/credential-provider-http": "3.525.0", + "@aws-sdk/credential-provider-ini": "3.529.1", + "@aws-sdk/credential-provider-process": "3.523.0", + "@aws-sdk/credential-provider-sso": "3.529.1", + "@aws-sdk/credential-provider-web-identity": "3.529.1", + "@aws-sdk/types": "3.523.0", + "@smithy/credential-provider-imds": "^2.2.3", + "@smithy/property-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.3.3", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-process": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.521.0.tgz", - "integrity": "sha512-EcJjcrpdklxbRAFFgSLk6QGVtvnfZ80ItfZ47VL9LkhWcDAkQ1Oi0esHq+zOgvjb7VkCyD3Q9CyEwT6MlJsriA==", - "requires": { - "@aws-sdk/types": "3.521.0", - "@smithy/property-provider": "^2.1.1", - "@smithy/shared-ini-file-loader": "^2.3.1", - "@smithy/types": "^2.10.0", + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.523.0.tgz", + "integrity": "sha512-f0LP9KlFmMvPWdKeUKYlZ6FkQAECUeZMmISsv6NKtvPCI9e4O4cLTeR09telwDK8P0HrgcRuZfXM7E30m8re0Q==", + "requires": { + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.3.3", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-sso": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.521.0.tgz", - "integrity": "sha512-GAfc0ji+fC2k9VngYM3zsS1J5ojfWg0WUOBzavvHzkhx/O3CqOt82Vfikg3PvemAp9yOgKPMaasTHVeipNLBBQ==", - "requires": { - "@aws-sdk/client-sso": "3.521.0", - "@aws-sdk/token-providers": "3.521.0", - "@aws-sdk/types": "3.521.0", - "@smithy/property-provider": "^2.1.1", - "@smithy/shared-ini-file-loader": "^2.3.1", - "@smithy/types": "^2.10.0", + "version": "3.529.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.529.1.tgz", + "integrity": "sha512-KFMKkaoTGDgSJG+o9Ii7AglWG5JQeF6IFw9cXLMwDdIrp3KUmRcUIqe0cjOoCqeQEDGy0VHsimHmKKJ3894i/A==", + "requires": { + "@aws-sdk/client-sso": "3.529.1", + "@aws-sdk/token-providers": "3.529.1", + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.3.3", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-web-identity": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.521.0.tgz", - "integrity": "sha512-ZPPJqdbPOE4BkdrPrYBtsWg0Zy5b+GY1sbMWLQt0tcISgN5EIoePCS2pGNWnBUmBT+mibMQCVv9fOQpqzRkvAw==", - "requires": { - "@aws-sdk/client-sts": "3.521.0", - "@aws-sdk/types": "3.521.0", - "@smithy/property-provider": "^2.1.1", - "@smithy/types": "^2.10.0", + "version": "3.529.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.529.1.tgz", + "integrity": "sha512-AGuZDOKN+AttjwTjrF47WLqzeEut2YynyxjkXZhxZF/xn8i5Y51kUAUdXsXw1bgR25pAeXQIdhsrQlRa1Pm5kw==", + "requires": { + "@aws-sdk/client-sts": "3.529.1", + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-bucket-endpoint": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.521.0.tgz", - "integrity": "sha512-wUPSpzeEGwAic5OJmXQGt1RCbt5KHighZ1ubUeNV67FMPsxaEW+Y0Kd+L0vbbFoQptIui2GqP5JxuROr6J7SjA==", + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.525.0.tgz", + "integrity": "sha512-nYfQ2Xspfef7j8mZO7varUWLPH6HQlXateH7tBVtBNUAazyQE4UJEvC0fbQ+Y01e+FKlirim/m2umkdMXqAlTg==", "requires": { - "@aws-sdk/types": "3.521.0", + "@aws-sdk/types": "3.523.0", "@aws-sdk/util-arn-parser": "3.495.0", - "@smithy/node-config-provider": "^2.2.2", - "@smithy/protocol-http": "^3.2.0", - "@smithy/types": "^2.10.0", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", "@smithy/util-config-provider": "^2.2.1", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-expect-continue": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.521.0.tgz", - "integrity": "sha512-6NBaPS+1b1QbsbJ74KI9MkqWbj8rnY6uKNEo0wkxgA8Q6u0aTn/jV+jrn5ZemdYmfS/y/VbaoY/hE+/QNp5vUw==", + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.523.0.tgz", + "integrity": "sha512-E5DyRAHU39VHaAlQLqXYS/IKpgk3vsryuU6kkOcIIK8Dgw0a2tjoh5AOCaNa8pD+KgAGrFp35JIMSX1zui5diA==", "requires": { - "@aws-sdk/types": "3.521.0", - "@smithy/protocol-http": "^3.2.0", - "@smithy/types": "^2.10.0", + "@aws-sdk/types": "3.523.0", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-flexible-checksums": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.521.0.tgz", - "integrity": "sha512-sWNN0wtdwImO2QqN4J1YVTpDhdii6Tp5p8jCkCE1Qe+afQ5u52PeRAS/9U56cJnqM5JLabO4kE10Mm5rufNs2A==", + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.523.0.tgz", + "integrity": "sha512-lIa1TdWY9q4zsDFarfSnYcdrwPR+nypaU4n6hb95i620/1F5M5s6H8P0hYtwTNNvx+slrR8F3VBML9pjBtzAHw==", "requires": { "@aws-crypto/crc32": "3.0.0", "@aws-crypto/crc32c": "3.0.0", - "@aws-sdk/types": "3.521.0", + "@aws-sdk/types": "3.523.0", "@smithy/is-array-buffer": "^2.1.1", - "@smithy/protocol-http": "^3.2.0", - "@smithy/types": "^2.10.0", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-host-header": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.521.0.tgz", - "integrity": "sha512-Bc4stnMtVAdqosYI1wedFK9tffclCuwpOK/JA4bxbnvSyP1kz4s1HBVT9OOMzdLRLWLwVj/RslXKfSbzOUP7ug==", + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.523.0.tgz", + "integrity": "sha512-4g3q7Ta9sdD9TMUuohBAkbx/e3I/juTqfKi7TPgP+8jxcYX72MOsgemAMHuP6CX27eyj4dpvjH+w4SIVDiDSmg==", "requires": { - "@aws-sdk/types": "3.521.0", - "@smithy/protocol-http": "^3.2.0", - "@smithy/types": "^2.10.0", + "@aws-sdk/types": "3.523.0", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-location-constraint": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.521.0.tgz", - "integrity": "sha512-XlGst6F3+20mhMVk+te7w8Yvrm9i9JGpgRdxdMN1pnXtGn/aAKF9lFFm4bOu47PR/XHun2PLmKlLnlZd7NAP2Q==", + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.523.0.tgz", + "integrity": "sha512-1QAUXX3U0jkARnU0yyjk81EO4Uw5dCeQOtvUY5s3bUOHatR3ThosQeIr6y9BCsbXHzNnDe1ytCjqAPyo8r/bYw==", "requires": { - "@aws-sdk/types": "3.521.0", - "@smithy/types": "^2.10.0", + "@aws-sdk/types": "3.523.0", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-logger": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.521.0.tgz", - "integrity": "sha512-JJ4nyYvLu3RyyNHo74Rlx6WKxJsAixWCEnnFb6IGRUHvsG+xBGU7HF5koY2log8BqlDLrt4ZUaV/CGy5Dp8Mfg==", + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.523.0.tgz", + "integrity": "sha512-PeDNJNhfiaZx54LBaLTXzUaJ9LXFwDFFIksipjqjvxMafnoVcQwKbkoPUWLe5ytT4nnL1LogD3s55mERFUsnwg==", "requires": { - "@aws-sdk/types": "3.521.0", - "@smithy/types": "^2.10.0", + "@aws-sdk/types": "3.523.0", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-recursion-detection": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.521.0.tgz", - "integrity": "sha512-1m5AsC55liTlaYMjc4pIQfjfBHG9LpWgubSl4uUxJSdI++zdA/SRBwXl40p7Ac/y5esweluhWabyiv1g/W4+Xg==", + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.523.0.tgz", + "integrity": "sha512-nZ3Vt7ehfSDYnrcg/aAfjjvpdE+61B3Zk68i6/hSUIegT3IH9H1vSW67NDKVp+50hcEfzWwM2HMPXxlzuyFyrw==", "requires": { - "@aws-sdk/types": "3.521.0", - "@smithy/protocol-http": "^3.2.0", - "@smithy/types": "^2.10.0", + "@aws-sdk/types": "3.523.0", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-sdk-s3": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.521.0.tgz", - "integrity": "sha512-aDeOScfzGGHZ7oEDx+EPzz+JVa8/B88CPeDRaDmO5dFNv2/5PFumHfh0gc6XFl4nJWPPOrJyZ1UYU/9VdDfSyQ==", + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.525.0.tgz", + "integrity": "sha512-ewFyyFM6wdFTOqCiId5GQNi7owDdLEonQhB4h8tF6r3HV52bRlDvZA4aDos+ft6N/XY2J6L0qlFTFq+/oiurXw==", "requires": { - "@aws-sdk/types": "3.521.0", + "@aws-sdk/types": "3.523.0", "@aws-sdk/util-arn-parser": "3.495.0", - "@smithy/node-config-provider": "^2.2.2", - "@smithy/protocol-http": "^3.2.0", - "@smithy/signature-v4": "^2.1.1", - "@smithy/smithy-client": "^2.4.0", - "@smithy/types": "^2.10.0", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/protocol-http": "^3.2.1", + "@smithy/signature-v4": "^2.1.3", + "@smithy/smithy-client": "^2.4.2", + "@smithy/types": "^2.10.1", "@smithy/util-config-provider": "^2.2.1", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-signing": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.521.0.tgz", - "integrity": "sha512-OW1jKeN6Eh3/OItXBtyNRFOv1MuZQBeHpEbywgYwtaqxTGxm9gFj//9wFsCXK4zg1+ghun8iC0buNbyOvCUf9A==", - "requires": { - "@aws-sdk/types": "3.521.0", - "@smithy/property-provider": "^2.1.1", - "@smithy/protocol-http": "^3.2.0", - "@smithy/signature-v4": "^2.1.1", - "@smithy/types": "^2.10.0", - "@smithy/util-middleware": "^2.1.2", + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.523.0.tgz", + "integrity": "sha512-pFXV4don6qcmew/OvEjLUr2foVjzoJ8o5k57Oz9yAHz8INx3RHK8MP/K4mVhHo6n0SquRcWrm4kY/Tw+89gkEA==", + "requires": { + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/protocol-http": "^3.2.1", + "@smithy/signature-v4": "^2.1.3", + "@smithy/types": "^2.10.1", + "@smithy/util-middleware": "^2.1.3", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-ssec": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.521.0.tgz", - "integrity": "sha512-O9vlns8bFxkZA71CyjQbiB2tm3v+925C37Z3wzn9sj2x0FTB3njgSR23w05d8HP2ve1GPuqoVD0T0pa+jG0Zbw==", + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.523.0.tgz", + "integrity": "sha512-FaqAZQeF5cQzZLOIboIJRaWVOQ2F2pJZAXGF5D7nJsxYNFChotA0O0iWimBRxU35RNn7yirVxz35zQzs20ddIw==", "requires": { - "@aws-sdk/types": "3.521.0", - "@smithy/types": "^2.10.0", + "@aws-sdk/types": "3.523.0", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-user-agent": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.521.0.tgz", - "integrity": "sha512-+hmQjWDG93wCcJn5QY2MkzAL1aG5wl3FJ/ud2nQOu/Gx7d4QVT/B6VJwoG6GSPVuVPZwzne5n9zPVst6RmWJGA==", - "requires": { - "@aws-sdk/types": "3.521.0", - "@aws-sdk/util-endpoints": "3.521.0", - "@smithy/protocol-http": "^3.2.0", - "@smithy/types": "^2.10.0", + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.525.0.tgz", + "integrity": "sha512-4al/6uO+t/QIYXK2OgqzDKQzzLAYJza1vWFS+S0lJ3jLNGyLB5BMU5KqWjDzevYZ4eCnz2Nn7z0FveUTNz8YdQ==", + "requires": { + "@aws-sdk/types": "3.523.0", + "@aws-sdk/util-endpoints": "3.525.0", + "@smithy/protocol-http": "^3.2.1", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, "@aws-sdk/region-config-resolver": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.521.0.tgz", - "integrity": "sha512-eC2T62nFgQva9Q0Sqoc9xsYyyH9EN2rJtmUKkWsBMf77atpmajAYRl5B/DzLwGHlXGsgVK2tJdU5wnmpQCEwEQ==", + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.525.0.tgz", + "integrity": "sha512-8kFqXk6UyKgTMi7N7QlhA6qM4pGPWbiUXqEY2RgUWngtxqNFGeM9JTexZeuavQI+qLLe09VPShPNX71fEDcM6w==", "requires": { - "@aws-sdk/types": "3.521.0", - "@smithy/node-config-provider": "^2.2.2", - "@smithy/types": "^2.10.0", + "@aws-sdk/types": "3.523.0", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/types": "^2.10.1", "@smithy/util-config-provider": "^2.2.1", - "@smithy/util-middleware": "^2.1.2", + "@smithy/util-middleware": "^2.1.3", "tslib": "^2.5.0" } }, "@aws-sdk/signature-v4-multi-region": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.521.0.tgz", - "integrity": "sha512-JVMGQEE6+MQ5Enc/NDQNw8cmy/soALH/Ky00SVQvrfb9ec4H40eDQbbn/d7lua52UCcvUv1w+Ppk00WzbqDAcQ==", - "requires": { - "@aws-sdk/middleware-sdk-s3": "3.521.0", - "@aws-sdk/types": "3.521.0", - "@smithy/protocol-http": "^3.2.0", - "@smithy/signature-v4": "^2.1.1", - "@smithy/types": "^2.10.0", + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.525.0.tgz", + "integrity": "sha512-j8gkdfiokaherRgokfZBl2azYBMHlegT7pOnR/3Y79TSz6G+bJeIkuNk8aUbJArr6R8nvAM1j4dt1rBM+efolQ==", + "requires": { + "@aws-sdk/middleware-sdk-s3": "3.525.0", + "@aws-sdk/types": "3.523.0", + "@smithy/protocol-http": "^3.2.1", + "@smithy/signature-v4": "^2.1.3", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, "@aws-sdk/token-providers": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.521.0.tgz", - "integrity": "sha512-63XxPOn13j87yPWKm6UXOPdMZIMyEyCDJzmlxnIACP8m20S/c6b8xLJ4fE/PUlD0MTKxpFeQbandq5OhnLsWSQ==", - "requires": { - "@aws-sdk/client-sso-oidc": "3.521.0", - "@aws-sdk/types": "3.521.0", - "@smithy/property-provider": "^2.1.1", - "@smithy/shared-ini-file-loader": "^2.3.1", - "@smithy/types": "^2.10.0", + "version": "3.529.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.529.1.tgz", + "integrity": "sha512-NpgMjsfpqiugbxrYGXtta914N43Mx/H0niidqv8wKMTgWQEtsJvYtOni+kuLXB+LmpjaMFNlpadooFU/bK4buA==", + "requires": { + "@aws-sdk/client-sso-oidc": "3.529.1", + "@aws-sdk/types": "3.523.0", + "@smithy/property-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.3.3", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, "@aws-sdk/types": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.521.0.tgz", - "integrity": "sha512-H9I3Lut0F9d+kTibrhnTRqDRzhxf/vrDu12FUdTXVZEvVAQ7w9yrVHAZx8j2e8GWegetsQsNitO3KMrj4dA4pw==", + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.523.0.tgz", + "integrity": "sha512-AqGIu4u+SxPiUuNBp2acCVcq80KDUFjxe6e3cMTvKWTzCbrVk1AXv0dAaJnCmdkWIha6zJDWxpIk/aL4EGhZ9A==", "requires": { - "@smithy/types": "^2.10.0", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, @@ -736,13 +734,13 @@ } }, "@aws-sdk/util-endpoints": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.521.0.tgz", - "integrity": "sha512-lO5+1LeAZycDqgNjQyZdPSdXFQKXaW5bRuQ3UIT3bOCcUAbDI0BYXlPm1huPNTCEkI9ItnDCbISbV0uF901VXw==", + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.525.0.tgz", + "integrity": "sha512-DIW7WWU5tIGkeeKX6NJUyrEIdWMiqjLQG3XBzaUj+ufIENwNjdAHhlD8l2vX7Yr3JZRT6yN/84wBCj7Tw1xd1g==", "requires": { - "@aws-sdk/types": "3.521.0", - "@smithy/types": "^2.10.0", - "@smithy/util-endpoints": "^1.1.2", + "@aws-sdk/types": "3.523.0", + "@smithy/types": "^2.10.1", + "@smithy/util-endpoints": "^1.1.4", "tslib": "^2.5.0" } }, @@ -755,24 +753,24 @@ } }, "@aws-sdk/util-user-agent-browser": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.521.0.tgz", - "integrity": "sha512-2t3uW6AXOvJ5iiI1JG9zPqKQDc/TRFa+v13aqT5KKw9h3WHFyRUpd4sFQL6Ul0urrq2Zg9cG4NHBkei3k9lsHA==", + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.523.0.tgz", + "integrity": "sha512-6ZRNdGHX6+HQFqTbIA5+i8RWzxFyxsZv8D3soRfpdyWIKkzhSz8IyRKXRciwKBJDaC7OX2jzGE90wxRQft27nA==", "requires": { - "@aws-sdk/types": "3.521.0", - "@smithy/types": "^2.10.0", + "@aws-sdk/types": "3.523.0", + "@smithy/types": "^2.10.1", "bowser": "^2.11.0", "tslib": "^2.5.0" } }, "@aws-sdk/util-user-agent-node": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.521.0.tgz", - "integrity": "sha512-g4KMEiyLc8DG21eMrp6fJUdfQ9F0fxfCNMDRgf0SE/pWI/u4vuWR2n8obLwq1pMVx7Ksva1NO3dc+a3Rgr0hag==", + "version": "3.525.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.525.0.tgz", + "integrity": "sha512-88Wjt4efyUSBGcyIuh1dvoMqY1k15jpJc5A/3yi67clBQEFsu9QCodQCQPqmRjV3VRcMtBOk+jeCTiUzTY5dRQ==", "requires": { - "@aws-sdk/types": "3.521.0", - "@smithy/node-config-provider": "^2.2.2", - "@smithy/types": "^2.10.0", + "@aws-sdk/types": "3.523.0", + "@smithy/node-config-provider": "^2.2.4", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, @@ -785,11 +783,11 @@ } }, "@aws-sdk/xml-builder": { - "version": "3.521.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.521.0.tgz", - "integrity": "sha512-ahaG39sgpBN/UOKzOW9Ey6Iuy6tK8vh2D+/tsLFLQ59PXoCvU06xg++TGXKpxsYMJGIzBvZMDC1aBhGmm/HsaA==", + "version": "3.523.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.523.0.tgz", + "integrity": "sha512-wfvyVymj2TUw7SuDor9IuFcAzJZvWRBZotvY/wQJOlYa3UP3Oezzecy64N4FWfBJEsZdrTN+HOZFl+IzTWWnUA==", "requires": { - "@smithy/types": "^2.10.0", + "@smithy/types": "^2.10.1", "tslib": "^2.5.0" } }, @@ -800,52 +798,6 @@ "requires": { "@babel/highlight": "^7.23.4", "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==" - }, - "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": { @@ -857,7 +809,6 @@ "version": "7.24.0", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", - "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.23.5", @@ -874,77 +825,6 @@ "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" - }, - "dependencies": { - "@babel/helpers": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", - "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", - "dev": true, - "requires": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0" - } - }, - "@babel/parser": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", - "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", - "dev": true - }, - "@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" - } - }, - "@babel/traverse": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", - "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@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.24.0", - "@babel/types": "^7.24.0", - "debug": "^4.3.1", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.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 - }, - "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": { @@ -963,12 +843,6 @@ "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 } } }, @@ -1011,26 +885,6 @@ "browserslist": "^4.22.2", "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": { @@ -1048,14 +902,6 @@ "@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": { @@ -1067,14 +913,6 @@ "@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": { @@ -1230,13 +1068,13 @@ } }, "@babel/helpers": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz", - "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", + "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", "requires": { - "@babel/template": "^7.23.9", - "@babel/traverse": "^7.23.9", - "@babel/types": "^7.23.9" + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0" } }, "@babel/highlight": { @@ -1247,58 +1085,12 @@ "@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==", - "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==" - }, - "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.23.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", - "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==" + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", + "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.23.3", @@ -2077,14 +1869,6 @@ "babel-plugin-polyfill-corejs3": "^0.9.0", "babel-plugin-polyfill-regenerator": "^0.5.5", "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": { @@ -2270,14 +2054,6 @@ "babel-plugin-polyfill-regenerator": "^0.5.5", "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-modules": { @@ -2334,19 +2110,19 @@ } }, "@babel/template": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz", - "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", "requires": { "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.23.9", - "@babel/types": "^7.23.9" + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" } }, "@babel/traverse": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz", - "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", + "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", "requires": { "@babel/code-frame": "^7.23.5", "@babel/generator": "^7.23.6", @@ -2354,16 +2130,16 @@ "@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.9", - "@babel/types": "^7.23.9", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0", "debug": "^4.3.1", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", - "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", "requires": { "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", @@ -2399,74 +2175,6 @@ "resolve-from": "5.0.0", "resolve-global": "1.0.0", "yargs": "^17.0.0" - }, - "dependencies": { - "@commitlint/load": { - "version": "17.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.8.1.tgz", - "integrity": "sha512-iF4CL7KDFstP1kpVUkT8K2Wl17h2yx9VaR1ztTc8vzByWWcbO/WaKwxsnCOqow9tVAlzPfo1ywk9m2oJ9ucMqA==", - "dev": true, - "requires": { - "@commitlint/config-validator": "^17.8.1", - "@commitlint/execute-rule": "^17.8.1", - "@commitlint/resolve-extends": "^17.8.1", - "@commitlint/types": "^17.8.1", - "@types/node": "20.5.1", - "chalk": "^4.1.0", - "cosmiconfig": "^8.0.0", - "cosmiconfig-typescript-loader": "^4.0.0", - "lodash.isplainobject": "^4.0.6", - "lodash.merge": "^4.6.2", - "lodash.uniq": "^4.5.0", - "resolve-from": "^5.0.0", - "ts-node": "^10.8.1", - "typescript": "^4.6.4 || ^5.2.2" - }, - "dependencies": { - "cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "dev": true, - "requires": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - } - }, - "cosmiconfig-typescript-loader": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.4.0.tgz", - "integrity": "sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==", - "dev": true - }, - "ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "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" - } - } - } - }, - "cosmiconfig": {}, - "cosmiconfig-typescript-loader": {}, - "ts-node": {} } }, "@commitlint/config-conventional": { @@ -2516,6 +2224,57 @@ "requires": { "@commitlint/types": "^17.8.1", "chalk": "^4.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "@commitlint/is-ignored": { @@ -2526,6 +2285,32 @@ "requires": { "@commitlint/types": "^17.8.1", "semver": "7.5.4" + }, + "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 + } } }, "@commitlint/lint": { @@ -2545,7 +2330,6 @@ "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.8.1.tgz", "integrity": "sha512-iF4CL7KDFstP1kpVUkT8K2Wl17h2yx9VaR1ztTc8vzByWWcbO/WaKwxsnCOqow9tVAlzPfo1ywk9m2oJ9ucMqA==", "dev": true, - "optional": true, "requires": { "@commitlint/config-validator": "^17.8.1", "@commitlint/execute-rule": "^17.8.1", @@ -2563,17 +2347,53 @@ "typescript": "^4.6.4 || ^5.2.2" }, "dependencies": { - "cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "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, - "optional": true, "requires": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" + "has-flag": "^4.0.0" } } } @@ -2593,20 +2413,6 @@ "@commitlint/types": "^17.8.1", "conventional-changelog-angular": "^6.0.0", "conventional-commits-parser": "^4.0.0" - }, - "dependencies": { - "conventional-commits-parser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz", - "integrity": "sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==", - "dev": true, - "requires": { - "JSONStream": "^1.3.5", - "is-text-path": "^1.0.1", - "meow": "^8.1.2", - "split2": "^3.2.2" - } - } } }, "@commitlint/read": { @@ -2671,6 +2477,57 @@ "dev": true, "requires": { "chalk": "^4.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "@cspotcode/source-map-support": { @@ -2884,6 +2741,16 @@ "uri-js": "^4.2.2" } }, + "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" + } + }, "globals": { "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", @@ -2899,6 +2766,15 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "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" + } + }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -2928,6 +2804,27 @@ "@humanwhocodes/object-schema": "^2.0.2", "debug": "^4.3.1", "minimatch": "^3.0.5" + }, + "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" + } + }, + "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" + } + } } }, "@humanwhocodes/module-importer": { @@ -3058,6 +2955,15 @@ "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", @@ -3066,12 +2972,6 @@ "requires": { "p-limit": "^2.2.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 } } }, @@ -3093,35 +2993,86 @@ "jest-message-util": "^27.5.1", "jest-util": "^27.5.1", "slash": "^3.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==", - "dev": true, - "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", + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dev": true, + "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", @@ -3129,6 +3080,57 @@ "rimraf": "^3.0.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "@jest/environment": { @@ -3199,6 +3201,90 @@ "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==", + "dev": true, + "requires": { + "color-convert": "^2.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==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.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 + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "@jest/schemas": { @@ -3268,16 +3354,59 @@ "write-file-atomic": "^3.0.0" }, "dependencies": { - "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==", + "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": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "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 + }, + "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 + }, + "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" } } } @@ -3293,16 +3422,67 @@ "@types/node": "*", "@types/yargs": "^16.0.0", "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "@jridgewell/gen-mapping": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.4.tgz", - "integrity": "sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "requires": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" } }, "@jridgewell/resolve-uri": { @@ -3331,9 +3511,9 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "@jridgewell/trace-mapping": { - "version": "0.3.23", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.23.tgz", - "integrity": "sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "requires": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -3599,9 +3779,7 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true - }, - "webpack-dev-middleware": {}, - "webpack-dev-server": {} + } } }, "@pnpm/config.env-replace": { @@ -3639,9 +3817,9 @@ } }, "@polka/url": { - "version": "1.0.0-next.24", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz", - "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==", + "version": "1.0.0-next.25", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", + "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==", "dev": true }, "@rescript/core": { @@ -3686,9 +3864,20 @@ "requires": { "@rollup/pluginutils": "^3.1.0", "magic-string": "^0.25.7" - } - }, - "@rollup/pluginutils": { + }, + "dependencies": { + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + } + } + }, + "@rollup/pluginutils": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", @@ -3874,6 +4063,32 @@ "registry-auth-token": "^5.0.0", "semver": "^7.1.2", "tempy": "^1.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" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "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 + } } }, "@semantic-release/release-notes-generator": { @@ -3921,148 +4136,82 @@ } }, "@sentry-internal/feedback": { - "version": "7.102.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.102.1.tgz", - "integrity": "sha512-vY4hpLLMNLjICtWiizc7KeGbWOTUMGrF7C+9dPCztZww3CLgzWy9A7DvPj5hodRiYzpdRnAMl8yQnMFbYXh7bA==", + "version": "7.106.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.106.0.tgz", + "integrity": "sha512-Uz6pv3SN8XORTMme5xPxP/kuho7CAA6E/pMlpMjsojjBbnwLIICu10JaEZNsF/AtEya1RcNVTyPCrtF1F3sBYA==", "requires": { - "@sentry/core": "7.102.1", - "@sentry/types": "7.102.1", - "@sentry/utils": "7.102.1" + "@sentry/core": "7.106.0", + "@sentry/types": "7.106.0", + "@sentry/utils": "7.106.0" } }, "@sentry-internal/replay-canvas": { - "version": "7.102.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.102.1.tgz", - "integrity": "sha512-GUX4RWI10uRjdjeyvCLtAAhWRVqnAnG6+yNxWfqUQ3qMA7B7XxG43KT2UhSnulmErNzODQ6hA68rGPwwYeRIww==", + "version": "7.106.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.106.0.tgz", + "integrity": "sha512-59qmT6XqbwpQuK1nVmv+XFxgd80gpYNH3aqgF5BEKux23kRB02/ARR5MwYyIHgVO0JhwdGIuiTfiLVNDu+nwTQ==", "requires": { - "@sentry/core": "7.102.1", - "@sentry/replay": "7.102.1", - "@sentry/types": "7.102.1", - "@sentry/utils": "7.102.1" + "@sentry/core": "7.106.0", + "@sentry/replay": "7.106.0", + "@sentry/types": "7.106.0", + "@sentry/utils": "7.106.0" } }, "@sentry-internal/tracing": { - "version": "7.102.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.102.1.tgz", - "integrity": "sha512-RkFlFyAC0fQOvBbBqnq0CLmFW5m3JJz9pKbZd5vXPraWAlniKSb1bC/4DF9SlNx0FN1LWG+IU3ISdpzwwTeAGg==", + "version": "7.106.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.106.0.tgz", + "integrity": "sha512-O8Es6Sa/tP80nfl+8soNfWzeRNFcT484SvjLR8BS3pHM9KDAlwNXyoQhFr2BKNYL1irbq6UF6eku4xCnUKVmqA==", "requires": { - "@sentry/core": "7.102.1", - "@sentry/types": "7.102.1", - "@sentry/utils": "7.102.1" + "@sentry/core": "7.106.0", + "@sentry/types": "7.106.0", + "@sentry/utils": "7.106.0" } }, "@sentry/babel-plugin-component-annotate": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-2.14.2.tgz", - "integrity": "sha512-mFBVnIZmdMrpxo61rG5yf0WFt5VrRpy8cpIpJtT3mYkX9vDmcUZaZaD1ctv73iZF3QwaieVdn05Na5mWzZ8h/A==" + "version": "2.14.3", + "resolved": "https://registry.npmjs.org/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-2.14.3.tgz", + "integrity": "sha512-h0ONVTe8j3Ma2g5SMsl9ynmLZdCf+CupLF7PQ7n06K0L8dDtrHqo8yjsWaZSJf4InGrJ9HC4MaOSItbFjiTFLw==" }, "@sentry/browser": { - "version": "7.102.1", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.102.1.tgz", - "integrity": "sha512-7BOfPBiM7Kp6q/iy0JIbsBTxIASV+zWXByqqjuEMWGj3X2u4oRIfm3gv4erPU/l+CORQUVQZLSPGoIoM1gbB/A==", + "version": "7.106.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.106.0.tgz", + "integrity": "sha512-OrHdw44giTtMa1DmlIUMBN4ypj1xTES9DLjq16ufK+bLqW3rWzwCuTy0sb9ZmSxc7fL2pdBlsL+sECiS+U2TEw==", "requires": { - "@sentry-internal/feedback": "7.102.1", - "@sentry-internal/replay-canvas": "7.102.1", - "@sentry-internal/tracing": "7.102.1", - "@sentry/core": "7.102.1", - "@sentry/replay": "7.102.1", - "@sentry/types": "7.102.1", - "@sentry/utils": "7.102.1" + "@sentry-internal/feedback": "7.106.0", + "@sentry-internal/replay-canvas": "7.106.0", + "@sentry-internal/tracing": "7.106.0", + "@sentry/core": "7.106.0", + "@sentry/replay": "7.106.0", + "@sentry/types": "7.106.0", + "@sentry/utils": "7.106.0" } }, "@sentry/bundler-plugin-core": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/@sentry/bundler-plugin-core/-/bundler-plugin-core-2.14.2.tgz", - "integrity": "sha512-HgOFWYdq87lSmeVW1w8K2Vf2DGzRPvKzHTajZYLTPlrZ1jbajq9vwuqhrJ9AnDkjl0mjyzSPEy3ZTeG1Z7uRNA==", + "version": "2.14.3", + "resolved": "https://registry.npmjs.org/@sentry/bundler-plugin-core/-/bundler-plugin-core-2.14.3.tgz", + "integrity": "sha512-iEtMdAPFUAYngvYhkfbgY8m3zB439u+5tvovj9rBXHGMr3nEB5fzZLOcVuiL47GEuUvMjDdrubl9MDGZ0c1IuQ==", "requires": { - "@babel/core": "7.18.5", - "@sentry/babel-plugin-component-annotate": "2.14.2", + "@babel/core": "^7.18.5", + "@sentry/babel-plugin-component-annotate": "2.14.3", "@sentry/cli": "^2.22.3", "dotenv": "^16.3.1", - "find-up": "5.0.0", - "glob": "9.3.2", + "find-up": "^5.0.0", + "glob": "^9.3.2", "magic-string": "0.27.0", "unplugin": "1.0.1" - }, - "dependencies": { - "@babel/core": { - "version": "7.18.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.5.tgz", - "integrity": "sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==", - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.2", - "@babel/helper-compilation-targets": "^7.18.2", - "@babel/helper-module-transforms": "^7.18.0", - "@babel/helpers": "^7.18.2", - "@babel/parser": "^7.18.5", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.5", - "@babel/types": "^7.18.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - } - }, - "dotenv": { - "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==" - }, - "glob": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.2.tgz", - "integrity": "sha512-BTv/JhKXFEHsErMte/AnfiSv8yYOLLiyH2lTg8vn02O21zWFgHPTfxtgn1QRe7NRgggUhC8hacR2Re94svHqeA==", - "requires": { - "fs.realpath": "^1.0.0", - "minimatch": "^7.4.1", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" - } - }, - "magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "requires": { - "@jridgewell/sourcemap-codec": "^1.4.13" - } - }, - "minimatch": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", - "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minipass": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==" - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } } }, "@sentry/cli": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.29.1.tgz", - "integrity": "sha512-STtuGm8vdR4ifR3I6mFmt9y7Dk9QzeOvpyXEG5H7dkFDSvU7cepkYAlli5QiZDzECngxGx/uLAzZzFKSATF1Qw==", - "requires": { - "@sentry/cli-darwin": "2.29.1", - "@sentry/cli-linux-arm": "2.29.1", - "@sentry/cli-linux-arm64": "2.29.1", - "@sentry/cli-linux-i686": "2.29.1", - "@sentry/cli-linux-x64": "2.29.1", - "@sentry/cli-win32-i686": "2.29.1", - "@sentry/cli-win32-x64": "2.29.1", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.30.0.tgz", + "integrity": "sha512-GTO5e98vy2QwEYQvhE/ZtGUiVrUu4XungLioJbazm+ZOen8cyac8YOapZfozN5mtxjWOWMOwhOqoTeCU3Q8YKQ==", + "requires": { + "@sentry/cli-darwin": "2.30.0", + "@sentry/cli-linux-arm": "2.30.0", + "@sentry/cli-linux-arm64": "2.30.0", + "@sentry/cli-linux-i686": "2.30.0", + "@sentry/cli-linux-x64": "2.30.0", + "@sentry/cli-win32-i686": "2.30.0", + "@sentry/cli-win32-x64": "2.30.0", "https-proxy-agent": "^5.0.0", "node-fetch": "^2.6.7", "progress": "^2.0.3", @@ -4071,98 +4220,98 @@ } }, "@sentry/cli-darwin": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.29.1.tgz", - "integrity": "sha512-FfYkME4stq6q1sWWsxFAjTa1pxc+GV+HTHYcnajqU+X0rQReoOvFvi00AHua1qKy8+lH5/RgEvMJcDBdoa0h3A==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.30.0.tgz", + "integrity": "sha512-JVesQ9PznbHBOOOwuej2X8/onfXdmAEjBH6fTyWxBl6K8mB4KmBX/aHunXWMBX+VR9X32XZghIqj7acwaFUMPA==", "optional": true }, "@sentry/cli-linux-arm": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.29.1.tgz", - "integrity": "sha512-lqOsmAVVgRYZzNyGQA1jnmALx0LnZ/Z7zc8/2TFrQYT7FUps5FP3yDDKlsUTaB8Z8A0++k7AqFgwlIeJw7+mPQ==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.30.0.tgz", + "integrity": "sha512-MDB3iS31WKg4krCcLo520yxbUERPeA2DCtk9Qs9vSDbQl6Er64dteHllOdx1SDOyX/7GKcxrQEQ6SMmbnOo6wg==", "optional": true }, "@sentry/cli-linux-arm64": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.29.1.tgz", - "integrity": "sha512-xcwNMJDC10kbi7T1kXRtZCMfgBtD3qLRgYEHJR0UuTONF+pF80uacdde+7oABW+rA3jy2G+4+cR5pN9M2x8wGQ==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.30.0.tgz", + "integrity": "sha512-JNXPkkMubKoZVlcFIoClSmTb9C/I6Bz08DuAZm2jnjRaaOMiCBxI/l50H3dmfVZ6apjEguG9JkjFdb0kqKB90w==", "optional": true }, "@sentry/cli-linux-i686": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.29.1.tgz", - "integrity": "sha512-yOe7YEx42vl0Q8MgkbQmLbRe2KjijjMP+l9DYAfbOJHdTJ+3tNfBcRqFXsVNiobGxUeaVE5oDkOJ+7iGGgM2HA==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.30.0.tgz", + "integrity": "sha512-WhVVziFQw/fO0Cc53pY8goPAzJtIs6ORTR89fVbKwa3ZDNkX++mEOECbP7RkmD87kuRxyKzN543RPV971PcAHw==", "optional": true }, "@sentry/cli-linux-x64": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.29.1.tgz", - "integrity": "sha512-fzKh/lRwzZSb+QIebuWN9qXXABGarsL9V2xONGwWv202AueK0WFxr6/ADsE7OlmM/4cDby5Sd+oMKos2eeVcVA==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.30.0.tgz", + "integrity": "sha512-QkiVDeSfspotZ0Au5Yauv2DAm/BC1fL9BwPek/WwddM18I2HqnDp6l4TA4bQeEY++o0KEuNF53cPahpepltPjw==", "optional": true }, "@sentry/cli-win32-i686": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.29.1.tgz", - "integrity": "sha512-qdzg2nCSLfMgwhH7HLb6nPngJgbDvcOfDPtF+Y7axoe18iiQW0Ju7M9/e30t8vaOcUz9ZowQgFvxdgYlHJ3jMw==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.30.0.tgz", + "integrity": "sha512-xLY9B1EEGuNYPKpK6M9PMmcu2PzofdvRtbraTcU6Ck2zALS5oXB9kmWc4dDKucZ/uu9JB0m+Lo4ebaNlca45qQ==", "optional": true }, "@sentry/cli-win32-x64": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.29.1.tgz", - "integrity": "sha512-CtGuRmwJ06WVMyVOq/Oa0l/1fI7rSAxcAlCzVAvj1p09aLXAGObGXmljXUeQ1jxE/Ll4yRAo9TjA8Y+vxPtkJw==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.30.0.tgz", + "integrity": "sha512-CiXuxnpJI0zho0XE5PVqIS9CwjDEYoMnHQRIr4Jj9OzlGTJ2iSSU6Zp3Ykd7lgo2iK4P6MfxIBm30gFQPnSvVA==", "optional": true }, "@sentry/core": { - "version": "7.102.1", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.102.1.tgz", - "integrity": "sha512-QjY+LSP3du3J/C8x/FfEbRxgZgsWd0jfTJ4P7s9f219I1csK4OeBMC3UA1HwEa0pY/9OF6H/egW2CjOcMM5Pdg==", + "version": "7.106.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.106.0.tgz", + "integrity": "sha512-Dc13XtnyFaXup2E4vCbzuG0QKAVjrJBk4qfGwvSJaTuopEaEWBs2MpK6hRzFhsz9S3T0La7c1F/62NptvTUWsQ==", "requires": { - "@sentry/types": "7.102.1", - "@sentry/utils": "7.102.1" + "@sentry/types": "7.106.0", + "@sentry/utils": "7.106.0" } }, "@sentry/react": { - "version": "7.102.1", - "resolved": "https://registry.npmjs.org/@sentry/react/-/react-7.102.1.tgz", - "integrity": "sha512-X4j2DgbktlEifnd21YJKCayAmff5hnaS+9MNz9OonEwD0ARi0ks7bo0wtWHMjPK20992MO+JwczVg/1BXJYDdQ==", - "requires": { - "@sentry/browser": "7.102.1", - "@sentry/core": "7.102.1", - "@sentry/types": "7.102.1", - "@sentry/utils": "7.102.1", + "version": "7.106.0", + "resolved": "https://registry.npmjs.org/@sentry/react/-/react-7.106.0.tgz", + "integrity": "sha512-5KMfvkBYqK990o8Ju9vsRRRR0F8TnPpZynC9YqsJYpCViKjIt8W/ysDLrU1Dj5XZyeVElZjdRlXB0aQYrwEUWg==", + "requires": { + "@sentry/browser": "7.106.0", + "@sentry/core": "7.106.0", + "@sentry/types": "7.106.0", + "@sentry/utils": "7.106.0", "hoist-non-react-statics": "^3.3.2" } }, "@sentry/replay": { - "version": "7.102.1", - "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.102.1.tgz", - "integrity": "sha512-HR/j9dGIvbrId8fh8mQlODx7JrhRmawEd9e9P3laPtogWCg/5TI+XPb2VGSaXOX9VWtb/6Z2UjHsaGjgg6YcuA==", + "version": "7.106.0", + "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.106.0.tgz", + "integrity": "sha512-buaAOvOI+3pFm+76vwtxSxciBATHyR78aDjStghJZcIpFDNF31K8ZV0uP9+EUPbXHohtkTwZ86cn/P9cyY6NgA==", "requires": { - "@sentry-internal/tracing": "7.102.1", - "@sentry/core": "7.102.1", - "@sentry/types": "7.102.1", - "@sentry/utils": "7.102.1" + "@sentry-internal/tracing": "7.106.0", + "@sentry/core": "7.106.0", + "@sentry/types": "7.106.0", + "@sentry/utils": "7.106.0" } }, "@sentry/types": { - "version": "7.102.1", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.102.1.tgz", - "integrity": "sha512-htKorf3t/D0XYtM7foTcmG+rM47rDP6XdbvCcX5gBCuCYlzpM1vqCt2rl3FLktZC6TaIpFRJw1TLfx6m+x5jdA==" + "version": "7.106.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.106.0.tgz", + "integrity": "sha512-oKTkDaL6P9xJC5/zHLRemHTWboUqRYjkJNaZCN63j4kJqGy56wee4vDtDese/NWWn4U4C1QV1h+Mifm2HmDcQg==" }, "@sentry/utils": { - "version": "7.102.1", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.102.1.tgz", - "integrity": "sha512-+8WcFjHVV/HROXSAwMuUzveElBFC43EiTG7SNEBNgOUeQzQVTmbUZXyTVgLrUmtoWqvnIxCacoLxtZo1o67kdg==", + "version": "7.106.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.106.0.tgz", + "integrity": "sha512-bVsePsXLpFu/1sH4rpJrPcnVxW2fXXfGfGxKs6Bm+dkOMbuVTlk/KAzIbdjCDIpVlrMDJmMNEv5xgTFjgWDkjw==", "requires": { - "@sentry/types": "7.102.1" + "@sentry/types": "7.106.0" } }, "@sentry/webpack-plugin": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/@sentry/webpack-plugin/-/webpack-plugin-2.14.2.tgz", - "integrity": "sha512-BEWF5qerGG/xX0ixEOCYh9gCkc+FHDzXxRMCFkM8yQNGH361ELF578KtuoZxXDy0kWa9QGZxSoP6/HZSnJEF9A==", + "version": "2.14.3", + "resolved": "https://registry.npmjs.org/@sentry/webpack-plugin/-/webpack-plugin-2.14.3.tgz", + "integrity": "sha512-3nsaBqdC2MJ+06BsCa5IwJIFaODT4UJis9+MSyuPLF+Ics+K3le4dlOCl8mc2Xm0WjqJUTlUmwvTj+jasnGMUw==", "requires": { - "@sentry/bundler-plugin-core": "2.14.2", + "@sentry/bundler-plugin-core": "2.14.3", "unplugin": "1.0.1", "uuid": "^9.0.0" }, @@ -4199,11 +4348,11 @@ } }, "@smithy/abort-controller": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.3.tgz", - "integrity": "sha512-c2aYH2Wu1RVE3rLlVgg2kQOBJGM0WbjReQi5DnPTm2Zb7F0gk7J2aeQeaX2u/lQZoHl6gv8Oac7mt9alU3+f4A==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.4.tgz", + "integrity": "sha512-66HO817oIZ2otLIqy06R5muapqZjkgF1jfU0wyNko8cuqZNu8nbS9ljlhcRYw/M/uWRJzB9ih81DLSHhYbBLlQ==", "requires": { - "@smithy/types": "^2.10.1", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, @@ -4216,153 +4365,153 @@ } }, "@smithy/chunked-blob-reader-native": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.1.1.tgz", - "integrity": "sha512-zNW+43dltfNMUrBEYLMWgI8lQr0uhtTcUyxkgC9EP4j17WREzgSFMPUFVrVV6Rc2+QtWERYjb4tzZnQGa7R9fQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.1.2.tgz", + "integrity": "sha512-KwR9fFc/t5jH9RQFbrA9DHSmI+URTmB4v+i7H08UNET9AcN6GGBTBMiDKpA56Crw6CN7cSaSDXaRS/AsfOuupQ==", "requires": { - "@smithy/util-base64": "^2.1.1", + "@smithy/util-base64": "^2.2.0", "tslib": "^2.5.0" } }, "@smithy/config-resolver": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.4.tgz", - "integrity": "sha512-AW2WUZmBAzgO3V3ovKtsUbI3aBNMeQKFDumoqkNxaVDWF/xfnxAWqBKDr/NuG7c06N2Rm4xeZLPiJH/d+na0HA==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.5.tgz", + "integrity": "sha512-LcBB5JQC3Tx2ZExIJzfvWaajhFIwHrUNQeqxhred2r5nnqrdly9uoCrvM1sxOOdghYuWWm2Kr8tBCDOmxsgeTA==", "requires": { - "@smithy/node-config-provider": "^2.2.4", - "@smithy/types": "^2.10.1", + "@smithy/node-config-provider": "^2.2.5", + "@smithy/types": "^2.11.0", "@smithy/util-config-provider": "^2.2.1", - "@smithy/util-middleware": "^2.1.3", + "@smithy/util-middleware": "^2.1.4", "tslib": "^2.5.0" } }, "@smithy/core": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.5.tgz", - "integrity": "sha512-Rrc+e2Jj6Gu7Xbn0jvrzZlSiP2CZocIOfZ9aNUA82+1sa6GBnxqL9+iZ9EKHeD9aqD1nU8EK4+oN2EiFpSv7Yw==", - "requires": { - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/middleware-retry": "^2.1.4", - "@smithy/middleware-serde": "^2.1.3", - "@smithy/protocol-http": "^3.2.1", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/util-middleware": "^2.1.3", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.7.tgz", + "integrity": "sha512-zHrrstOO78g+/rOJoHi4j3mGUBtsljRhcKNzloWPv1XIwgcFUi+F1YFKr2qPQ3z7Ls5dNc4L2SPrVarNFIQqog==", + "requires": { + "@smithy/middleware-endpoint": "^2.4.6", + "@smithy/middleware-retry": "^2.1.6", + "@smithy/middleware-serde": "^2.2.1", + "@smithy/protocol-http": "^3.2.2", + "@smithy/smithy-client": "^2.4.4", + "@smithy/types": "^2.11.0", + "@smithy/util-middleware": "^2.1.4", "tslib": "^2.5.0" } }, "@smithy/credential-provider-imds": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.5.tgz", - "integrity": "sha512-OxgD7jX6bjDJNYsjKCZN+PBVy3ZNiXGhysOtfaV1+WGSmbJJWkw613BQaY0iDAxVxUNTt30Lt3NyhimAAsZ3TA==", - "requires": { - "@smithy/node-config-provider": "^2.2.4", - "@smithy/property-provider": "^2.1.3", - "@smithy/types": "^2.10.1", - "@smithy/url-parser": "^2.1.3", + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.6.tgz", + "integrity": "sha512-+xQe4Pite0kdk9qn0Vyw5BRVh0iSlj+T4TEKRXr4E1wZKtVgIzGlkCrfICSjiPVFkPxk4jMpVboMYdEiiA88/w==", + "requires": { + "@smithy/node-config-provider": "^2.2.5", + "@smithy/property-provider": "^2.1.4", + "@smithy/types": "^2.11.0", + "@smithy/url-parser": "^2.1.4", "tslib": "^2.5.0" } }, "@smithy/eventstream-codec": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.3.tgz", - "integrity": "sha512-rGlCVuwSDv6qfKH4/lRxFjcZQnIE0LZ3D4lkMHg7ZSltK9rA74r0VuGSvWVQ4N/d70VZPaniFhp4Z14QYZsa+A==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.4.tgz", + "integrity": "sha512-UkiieTztP7adg8EuqZvB0Y4LewdleZCJU7Kgt9RDutMsRYqO32fMpWeQHeTHaIMosmzcRZUykMRrhwGJe9mP3A==", "requires": { "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^2.10.1", + "@smithy/types": "^2.11.0", "@smithy/util-hex-encoding": "^2.1.1", "tslib": "^2.5.0" } }, "@smithy/eventstream-serde-browser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.1.3.tgz", - "integrity": "sha512-qAgKbZ9m2oBfSyJWWurX/MvQFRPrYypj79cDSleEgDwBoez6Tfd+FTpu2L/j3ZeC3mDlDHIKWksoeaXZpLLAHw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.1.4.tgz", + "integrity": "sha512-K0SyvrUu/vARKzNW+Wp9HImiC/cJ6K88/n7FTH1slY+MErdKoiSbRLaXbJ9qD6x1Hu28cplHMlhADwZelUx/Ww==", "requires": { - "@smithy/eventstream-serde-universal": "^2.1.3", - "@smithy/types": "^2.10.1", + "@smithy/eventstream-serde-universal": "^2.1.4", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/eventstream-serde-config-resolver": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.1.3.tgz", - "integrity": "sha512-48rvsNv/MgAFCxOE0qwR7ZwKhaEdDoTxqH5HM+T6SDxICmPGb7gEuQzjTxQhcieCPgqyXeZFW8cU0QJxdowuIg==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.1.4.tgz", + "integrity": "sha512-FH+2AwOwZ0kHPB9sciWJtUqx81V4vizfT3P6T9eslmIC2hi8ch/KFvQlF7jDmwR1aLlPlq6qqLKLqzK/71Ki4A==", "requires": { - "@smithy/types": "^2.10.1", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/eventstream-serde-node": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.1.3.tgz", - "integrity": "sha512-RPJWWDhj8isk3NtGfm3Xt1WdHyX9ZE42V+m1nLU1I0zZ1hEol/oawHsTnhva/VR5bn+bJ2zscx+BYr0cEPRtmg==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.1.4.tgz", + "integrity": "sha512-gsc5ZTvVcB9sleLQzsK/rOhgn52+AAsmhEr41WDwAcctccBjh429+b8gT9t+SU8QyajypfsLOZfJQu0+zE515Q==", "requires": { - "@smithy/eventstream-serde-universal": "^2.1.3", - "@smithy/types": "^2.10.1", + "@smithy/eventstream-serde-universal": "^2.1.4", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/eventstream-serde-universal": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.1.3.tgz", - "integrity": "sha512-ssvSMk1LX2jRhiOVgVLGfNJXdB8SvyjieKcJDHq698Gi3LOog6g/+l7ggrN+hZxyjUiDF4cUxgKaZTBUghzhLw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.1.4.tgz", + "integrity": "sha512-NKLAsYnZA5s+ntipJRKo1RrRbhYHrsEnmiUoz0EhVYrAih+UELY9sKR+A1ujGaFm3nKDs5fPfiozC2wpXq2zUA==", "requires": { - "@smithy/eventstream-codec": "^2.1.3", - "@smithy/types": "^2.10.1", + "@smithy/eventstream-codec": "^2.1.4", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/fetch-http-handler": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.3.tgz", - "integrity": "sha512-Fn/KYJFo6L5I4YPG8WQb2hOmExgRmNpVH5IK2zU3JKrY5FKW7y9ar5e0BexiIC9DhSKqKX+HeWq/Y18fq7Dkpw==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.4.tgz", + "integrity": "sha512-DSUtmsnIx26tPuyyrK49dk2DAhPgEw6xRW7V62nMHIB5dk3NqhGnwcKO2fMdt/l3NUVgia34ZsSJA8bD+3nh7g==", "requires": { - "@smithy/protocol-http": "^3.2.1", - "@smithy/querystring-builder": "^2.1.3", - "@smithy/types": "^2.10.1", - "@smithy/util-base64": "^2.1.1", + "@smithy/protocol-http": "^3.2.2", + "@smithy/querystring-builder": "^2.1.4", + "@smithy/types": "^2.11.0", + "@smithy/util-base64": "^2.2.0", "tslib": "^2.5.0" } }, "@smithy/hash-blob-browser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.1.3.tgz", - "integrity": "sha512-sHLTM5xQYw5Wxz07DFo+eh1PVC6P5+kazQRF1k5nsvOhZG5VnkIy4LZ7N0ZNWqJx16g9otGd5MvqUOpb3WWtgA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.1.4.tgz", + "integrity": "sha512-bDugS1DortnriGDdp0sqdq7dLI5if8CEOF9rKtpJa1ZYMq6fxOtTId//dlilS5QgUtUs6GHN5aMQVxEjhBzzQA==", "requires": { "@smithy/chunked-blob-reader": "^2.1.1", - "@smithy/chunked-blob-reader-native": "^2.1.1", - "@smithy/types": "^2.10.1", + "@smithy/chunked-blob-reader-native": "^2.1.2", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/hash-node": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.3.tgz", - "integrity": "sha512-FsAPCUj7VNJIdHbSxMd5uiZiF20G2zdSDgrgrDrHqIs/VMxK85Vqk5kMVNNDMCZmMezp6UKnac0B4nAyx7HJ9g==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.4.tgz", + "integrity": "sha512-uvCcpDLXaTTL0X/9ezF8T8sS77UglTfZVQaUOBiCvR0QydeSyio3t0Hj3QooVdyFsKTubR8gCk/ubLk3vAyDng==", "requires": { - "@smithy/types": "^2.10.1", + "@smithy/types": "^2.11.0", "@smithy/util-buffer-from": "^2.1.1", - "@smithy/util-utf8": "^2.1.1", + "@smithy/util-utf8": "^2.2.0", "tslib": "^2.5.0" } }, "@smithy/hash-stream-node": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.1.3.tgz", - "integrity": "sha512-fWpUx2ca/u5lcD5RhNJogEG5FD7H0RDDpYmfQgxFqIUv3Ow7bZsapMukh8uzQPVO8R+NDAvSdxmgXoy4Hz8sFw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.1.4.tgz", + "integrity": "sha512-HcDQRs/Fcx7lwAd+/vSW/e7ltdh148D2Pq7XI61CEWcOoQdQ0W8aYBHDRC4zjtXv6hySdmWE+vo3dvdTt7aj8A==", "requires": { - "@smithy/types": "^2.10.1", - "@smithy/util-utf8": "^2.1.1", + "@smithy/types": "^2.11.0", + "@smithy/util-utf8": "^2.2.0", "tslib": "^2.5.0" } }, "@smithy/invalid-dependency": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.3.tgz", - "integrity": "sha512-wkra7d/G4CbngV4xsjYyAYOvdAhahQje/WymuQdVEnXFExJopEu7fbL5AEAlBPgWHXwu94VnCSG00gVzRfExyg==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.4.tgz", + "integrity": "sha512-QzlNBl6jt3nb9jNnE51wTegReVvUdozyMMrFEyb/rc6AzPID1O+qMJYjAAoNw098y0CZVfCpEnoK2+mfBOd8XA==", "requires": { - "@smithy/types": "^2.10.1", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, @@ -4375,202 +4524,203 @@ } }, "@smithy/md5-js": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.1.3.tgz", - "integrity": "sha512-zmn3M6+mP4IJlSmXBN9964AztgkIO8b5lRzAgdJn9AdCFwA6xLkcW2B6uEnpBjvotxtQMmXTUP19tIO7NmFPpw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.1.4.tgz", + "integrity": "sha512-WHTnnYJPKE7Sy49DogLuox42TnlwD3cQ6TObPD6WFWjKocWIdpEpIvdJHwWUfSFf0JIi8ON8z6ZEhsnyKVCcLQ==", "requires": { - "@smithy/types": "^2.10.1", - "@smithy/util-utf8": "^2.1.1", + "@smithy/types": "^2.11.0", + "@smithy/util-utf8": "^2.2.0", "tslib": "^2.5.0" } }, "@smithy/middleware-content-length": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.3.tgz", - "integrity": "sha512-aJduhkC+dcXxdnv5ZpM3uMmtGmVFKx412R1gbeykS5HXDmRU6oSsyy2SoHENCkfOGKAQOjVE2WVqDJibC0d21g==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.4.tgz", + "integrity": "sha512-C6VRwfcr0w9qRFhDGCpWMVhlEIBFlmlPRP1aX9Cv9xDj9SUwlDrNvoV1oP1vjRYuLxCDgovBBynCwwcluS2wLw==", "requires": { - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", + "@smithy/protocol-http": "^3.2.2", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/middleware-endpoint": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.4.tgz", - "integrity": "sha512-4yjHyHK2Jul4JUDBo2sTsWY9UshYUnXeb/TAK/MTaPEb8XQvDmpwSFnfIRDU45RY1a6iC9LCnmJNg/yHyfxqkw==", - "requires": { - "@smithy/middleware-serde": "^2.1.3", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/shared-ini-file-loader": "^2.3.4", - "@smithy/types": "^2.10.1", - "@smithy/url-parser": "^2.1.3", - "@smithy/util-middleware": "^2.1.3", + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.6.tgz", + "integrity": "sha512-AsXtUXHPOAS0EGZUSFOsVJvc7p0KL29PGkLxLfycPOcFVLru/oinYB6yvyL73ZZPX2OB8sMYUMrj7eH2kI7V/w==", + "requires": { + "@smithy/middleware-serde": "^2.2.1", + "@smithy/node-config-provider": "^2.2.5", + "@smithy/shared-ini-file-loader": "^2.3.5", + "@smithy/types": "^2.11.0", + "@smithy/url-parser": "^2.1.4", + "@smithy/util-middleware": "^2.1.4", "tslib": "^2.5.0" } }, "@smithy/middleware-retry": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.4.tgz", - "integrity": "sha512-Cyolv9YckZTPli1EkkaS39UklonxMd08VskiuMhURDjC0HHa/AD6aK/YoD21CHv9s0QLg0WMLvk9YeLTKkXaFQ==", - "requires": { - "@smithy/node-config-provider": "^2.2.4", - "@smithy/protocol-http": "^3.2.1", - "@smithy/service-error-classification": "^2.1.3", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", - "@smithy/util-middleware": "^2.1.3", - "@smithy/util-retry": "^2.1.3", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.6.tgz", + "integrity": "sha512-khpSV0NxqMHfa06kfG4WYv+978sVvfTFmn0hIFKKwOXtIxyYtPKiQWFT4nnwZD07fGdYGbtCBu3YALc8SsA5mA==", + "requires": { + "@smithy/node-config-provider": "^2.2.5", + "@smithy/protocol-http": "^3.2.2", + "@smithy/service-error-classification": "^2.1.4", + "@smithy/smithy-client": "^2.4.4", + "@smithy/types": "^2.11.0", + "@smithy/util-middleware": "^2.1.4", + "@smithy/util-retry": "^2.1.4", "tslib": "^2.5.0", "uuid": "^8.3.2" } }, "@smithy/middleware-serde": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.3.tgz", - "integrity": "sha512-s76LId+TwASrHhUa9QS4k/zeXDUAuNuddKklQzRgumbzge5BftVXHXIqL4wQxKGLocPwfgAOXWx+HdWhQk9hTg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.2.1.tgz", + "integrity": "sha512-VAWRWqnNjgccebndpyK94om4ZTYzXLQxUmNCXYzM/3O9MTfQjTNBgtFtQwyIIez6z7LWcCsXmnKVIOE9mLqAHQ==", "requires": { - "@smithy/types": "^2.10.1", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/middleware-stack": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.3.tgz", - "integrity": "sha512-opMFufVQgvBSld/b7mD7OOEBxF6STyraVr1xel1j0abVILM8ALJvRoFbqSWHGmaDlRGIiV9Q5cGbWi0sdiEaLQ==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.4.tgz", + "integrity": "sha512-Qqs2ba8Ax1rGKOSGJS2JN23fhhox2WMdRuzx0NYHtXzhxbJOIMmz9uQY6Hf4PY8FPteBPp1+h0j5Fmr+oW12sg==", "requires": { - "@smithy/types": "^2.10.1", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/node-config-provider": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.4.tgz", - "integrity": "sha512-nqazHCp8r4KHSFhRQ+T0VEkeqvA0U+RhehBSr1gunUuNW3X7j0uDrWBxB2gE9eutzy6kE3Y7L+Dov/UXT871vg==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.5.tgz", + "integrity": "sha512-CxPf2CXhjO79IypHJLBATB66Dw6suvr1Yc2ccY39hpR6wdse3pZ3E8RF83SODiNH0Wjmkd0ze4OF8exugEixgA==", "requires": { - "@smithy/property-provider": "^2.1.3", - "@smithy/shared-ini-file-loader": "^2.3.4", - "@smithy/types": "^2.10.1", + "@smithy/property-provider": "^2.1.4", + "@smithy/shared-ini-file-loader": "^2.3.5", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/node-http-handler": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.4.1.tgz", - "integrity": "sha512-HCkb94soYhJMxPCa61wGKgmeKpJ3Gftx1XD6bcWEB2wMV1L9/SkQu/6/ysKBnbOzWRE01FGzwrTxucHypZ8rdg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.4.2.tgz", + "integrity": "sha512-yrj3c1g145uiK5io+1UPbJAHo8BSGORkBzrmzvAsOmBKb+1p3jmM8ZwNLDH/HTTxVLm9iM5rMszx+iAh1HUC4Q==", "requires": { - "@smithy/abort-controller": "^2.1.3", - "@smithy/protocol-http": "^3.2.1", - "@smithy/querystring-builder": "^2.1.3", - "@smithy/types": "^2.10.1", + "@smithy/abort-controller": "^2.1.4", + "@smithy/protocol-http": "^3.2.2", + "@smithy/querystring-builder": "^2.1.4", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/property-provider": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.3.tgz", - "integrity": "sha512-bMz3se+ySKWNrgm7eIiQMa2HO/0fl2D0HvLAdg9pTMcpgp4SqOAh6bz7Ik6y7uQqSrk4rLjIKgbQ6yzYgGehCQ==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.4.tgz", + "integrity": "sha512-nWaY/MImj1BiXZ9WY65h45dcxOx8pl06KYoHxwojDxDL+Q9yLU1YnZpgv8zsHhEftlj9KhePENjQTlNowWVyug==", "requires": { - "@smithy/types": "^2.10.1", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/protocol-http": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.2.1.tgz", - "integrity": "sha512-KLrQkEw4yJCeAmAH7hctE8g9KwA7+H2nSJwxgwIxchbp/L0B5exTdOQi9D5HinPLlothoervGmhpYKelZ6AxIA==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.2.2.tgz", + "integrity": "sha512-xYBlllOQcOuLoxzhF2u8kRHhIFGQpDeTQj/dBSnw4kfI29WMKL5RnW1m9YjnJAJ49miuIvrkJR+gW5bCQ+Mchw==", "requires": { - "@smithy/types": "^2.10.1", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/querystring-builder": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.3.tgz", - "integrity": "sha512-kFD3PnNqKELe6m9GRHQw/ftFFSZpnSeQD4qvgDB6BQN6hREHELSosVFUMPN4M3MDKN2jAwk35vXHLoDrNfKu0A==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.4.tgz", + "integrity": "sha512-LXSL0J/nRWvGT+jIj+Fip3j0J1ZmHkUyBFRzg/4SmPNCLeDrtVu7ptKOnTboPsFZu5BxmpYok3kJuQzzRdrhbw==", "requires": { - "@smithy/types": "^2.10.1", + "@smithy/types": "^2.11.0", "@smithy/util-uri-escape": "^2.1.1", "tslib": "^2.5.0" } }, "@smithy/querystring-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.3.tgz", - "integrity": "sha512-3+CWJoAqcBMR+yvz6D+Fc5VdoGFtfenW6wqSWATWajrRMGVwJGPT3Vy2eb2bnMktJc4HU4bpjeovFa566P3knQ==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.4.tgz", + "integrity": "sha512-U2b8olKXgZAs0eRo7Op11jTNmmcC/sqYmsA7vN6A+jkGnDvJlEl7AetUegbBzU8q3D6WzC5rhR/joIy8tXPzIg==", "requires": { - "@smithy/types": "^2.10.1", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/service-error-classification": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.3.tgz", - "integrity": "sha512-iUrpSsem97bbXHHT/v3s7vaq8IIeMo6P6cXdeYHrx0wOJpMeBGQF7CB0mbJSiTm3//iq3L55JiEm8rA7CTVI8A==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.4.tgz", + "integrity": "sha512-JW2Hthy21evnvDmYYk1kItOmbp3X5XI5iqorXgFEunb6hQfSDZ7O1g0Clyxg7k/Pcr9pfLk5xDIR2To/IohlsQ==", "requires": { - "@smithy/types": "^2.10.1" + "@smithy/types": "^2.11.0" } }, "@smithy/shared-ini-file-loader": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.4.tgz", - "integrity": "sha512-CiZmPg9GeDKbKmJGEFvJBsJcFnh0AQRzOtQAzj1XEa8N/0/uSN/v1LYzgO7ry8hhO8+9KB7+DhSW0weqBra4Aw==", + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.5.tgz", + "integrity": "sha512-oI99+hOvsM8oAJtxAGmoL/YCcGXtbP0fjPseYGaNmJ4X5xOFTer0KPk7AIH3AL6c5AlYErivEi1X/X78HgTVIw==", "requires": { - "@smithy/types": "^2.10.1", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/signature-v4": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.3.tgz", - "integrity": "sha512-Jq4iPPdCmJojZTsPePn4r1ULShh6ONkokLuxp1Lnk4Sq7r7rJp4HlA1LbPBq4bD64TIzQezIpr1X+eh5NYkNxw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.4.tgz", + "integrity": "sha512-gnu9gCn0qQ8IdhNjs6o3QVCXzUs33znSDYwVMWo3nX4dM6j7z9u6FC302ShYyVWfO4MkVMuGCCJ6nl3PcH7V1Q==", "requires": { - "@smithy/eventstream-codec": "^2.1.3", + "@smithy/eventstream-codec": "^2.1.4", "@smithy/is-array-buffer": "^2.1.1", - "@smithy/types": "^2.10.1", + "@smithy/types": "^2.11.0", "@smithy/util-hex-encoding": "^2.1.1", - "@smithy/util-middleware": "^2.1.3", + "@smithy/util-middleware": "^2.1.4", "@smithy/util-uri-escape": "^2.1.1", - "@smithy/util-utf8": "^2.1.1", + "@smithy/util-utf8": "^2.2.0", "tslib": "^2.5.0" } }, "@smithy/smithy-client": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.4.2.tgz", - "integrity": "sha512-ntAFYN51zu3N3mCd95YFcFi/8rmvm//uX+HnK24CRbI6k5Rjackn0JhgKz5zOx/tbNvOpgQIwhSX+1EvEsBLbA==", - "requires": { - "@smithy/middleware-endpoint": "^2.4.4", - "@smithy/middleware-stack": "^2.1.3", - "@smithy/protocol-http": "^3.2.1", - "@smithy/types": "^2.10.1", - "@smithy/util-stream": "^2.1.3", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.4.4.tgz", + "integrity": "sha512-SNE17wjycPZIJ2P5sv6wMTteV/vQVPdaqQkoK1KeGoWHXx79t3iLhQXj1uqRdlkMUS9pXJrLOAS+VvUSOYwQKw==", + "requires": { + "@smithy/middleware-endpoint": "^2.4.6", + "@smithy/middleware-stack": "^2.1.4", + "@smithy/protocol-http": "^3.2.2", + "@smithy/types": "^2.11.0", + "@smithy/util-stream": "^2.1.4", "tslib": "^2.5.0" } }, "@smithy/types": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.10.1.tgz", - "integrity": "sha512-hjQO+4ru4cQ58FluQvKKiyMsFg0A6iRpGm2kqdH8fniyNd2WyanoOsYJfMX/IFLuLxEoW6gnRkNZy1y6fUUhtA==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.11.0.tgz", + "integrity": "sha512-AR0SXO7FuAskfNhyGfSTThpLRntDI5bOrU0xrpVYU0rZyjl3LBXInZFMTP/NNSd7IS6Ksdtar0QvnrPRIhVrLQ==", "requires": { "tslib": "^2.5.0" } }, "@smithy/url-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.3.tgz", - "integrity": "sha512-X1NRA4WzK/ihgyzTpeGvI9Wn45y8HmqF4AZ/FazwAv8V203Ex+4lXqcYI70naX9ETqbqKVzFk88W6WJJzCggTQ==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.4.tgz", + "integrity": "sha512-1hTy6UYRYqOZlHKH2/2NzdNQ4NNmW2Lp0sYYvztKy+dEQuLvZL9w88zCzFQqqFer3DMcscYOshImxkJTGdV+rg==", "requires": { - "@smithy/querystring-parser": "^2.1.3", - "@smithy/types": "^2.10.1", + "@smithy/querystring-parser": "^2.1.4", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/util-base64": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.1.1.tgz", - "integrity": "sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.2.0.tgz", + "integrity": "sha512-RiQI/Txu0SxCR38Ky5BMEVaFfkNTBjpbxlr2UhhxggSmnsHDQPZJWMtPoXs7TWZaseslIlAWMiHmqRT3AV/P2w==", "requires": { "@smithy/util-buffer-from": "^2.1.1", + "@smithy/util-utf8": "^2.2.0", "tslib": "^2.5.0" } }, @@ -4608,38 +4758,38 @@ } }, "@smithy/util-defaults-mode-browser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.4.tgz", - "integrity": "sha512-J6XAVY+/g7jf03QMnvqPyU+8jqGrrtXoKWFVOS+n1sz0Lg8HjHJ1ANqaDN+KTTKZRZlvG8nU5ZrJOUL6VdwgcQ==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.6.tgz", + "integrity": "sha512-lM2JMYCilrejfGf8WWnVfrKly3vf+mc5x9TrTpT++qIKP452uWfLqlaUxbz1TkSfhqm8RjrlY22589B9aI8A9w==", "requires": { - "@smithy/property-provider": "^2.1.3", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", + "@smithy/property-provider": "^2.1.4", + "@smithy/smithy-client": "^2.4.4", + "@smithy/types": "^2.11.0", "bowser": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/util-defaults-mode-node": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.4.tgz", - "integrity": "sha512-dvBhPpjpIdGKyJZZ0STFCcvak79Q6brgyZhsebfiAX/zB5paYuqmkG6hMUW7QqZFQ7kCldtOUzwV75MuXaiuhA==", - "requires": { - "@smithy/config-resolver": "^2.1.4", - "@smithy/credential-provider-imds": "^2.2.5", - "@smithy/node-config-provider": "^2.2.4", - "@smithy/property-provider": "^2.1.3", - "@smithy/smithy-client": "^2.4.2", - "@smithy/types": "^2.10.1", + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.6.tgz", + "integrity": "sha512-UmUbPHbkBJCXRFbq+FPLpVwiFPHj1oPWXJS2f2sy23PtXM94c9X5EceI6JKuKdBty+tzhrAs5JbmPM/HvmDB8Q==", + "requires": { + "@smithy/config-resolver": "^2.1.5", + "@smithy/credential-provider-imds": "^2.2.6", + "@smithy/node-config-provider": "^2.2.5", + "@smithy/property-provider": "^2.1.4", + "@smithy/smithy-client": "^2.4.4", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/util-endpoints": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.4.tgz", - "integrity": "sha512-/qAeHmK5l4yQ4/bCIJ9p49wDe9rwWtOzhPHblu386fwPNT3pxmodgcs9jDCV52yK9b4rB8o9Sj31P/7Vzka1cg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.5.tgz", + "integrity": "sha512-tgDpaUNsUtRvNiBulKU1VnpoXU1GINMfZZXunRhUXOTBEAufG1Wp79uDXLau2gg1RZ4dpAR6lXCkrmddihCGUg==", "requires": { - "@smithy/node-config-provider": "^2.2.4", - "@smithy/types": "^2.10.1", + "@smithy/node-config-provider": "^2.2.5", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, @@ -4652,36 +4802,36 @@ } }, "@smithy/util-middleware": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.3.tgz", - "integrity": "sha512-/+2fm7AZ2ozl5h8wM++ZP0ovE9/tiUUAHIbCfGfb3Zd3+Dyk17WODPKXBeJ/TnK5U+x743QmA0xHzlSm8I/qhw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.4.tgz", + "integrity": "sha512-5yYNOgCN0DL0OplME0pthoUR/sCfipnROkbTO7m872o0GHCVNJj5xOFJ143rvHNA54+pIPMLum4z2DhPC2pVGA==", "requires": { - "@smithy/types": "^2.10.1", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/util-retry": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.3.tgz", - "integrity": "sha512-Kbvd+GEMuozbNUU3B89mb99tbufwREcyx2BOX0X2+qHjq6Gvsah8xSDDgxISDwcOHoDqUWO425F0Uc/QIRhYkg==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.4.tgz", + "integrity": "sha512-JRZwhA3fhkdenSEYIWatC8oLwt4Bdf2LhHbNQApqb7yFoIGMl4twcYI3BcJZ7YIBZrACA9jGveW6tuCd836XzQ==", "requires": { - "@smithy/service-error-classification": "^2.1.3", - "@smithy/types": "^2.10.1", + "@smithy/service-error-classification": "^2.1.4", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, "@smithy/util-stream": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.3.tgz", - "integrity": "sha512-HvpEQbP8raTy9n86ZfXiAkf3ezp1c3qeeO//zGqwZdrfaoOpGKQgF2Sv1IqZp7wjhna7pvczWaGUHjcOPuQwKw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.4.tgz", + "integrity": "sha512-CiWaFPXstoR7v/PGHddFckovkhJb28wgQR7LwIt6RsQCJeRIHvUTVWhXw/Pco6Jm6nz/vfzN9FFdj/JN7RTkxQ==", "requires": { - "@smithy/fetch-http-handler": "^2.4.3", - "@smithy/node-http-handler": "^2.4.1", - "@smithy/types": "^2.10.1", - "@smithy/util-base64": "^2.1.1", + "@smithy/fetch-http-handler": "^2.4.4", + "@smithy/node-http-handler": "^2.4.2", + "@smithy/types": "^2.11.0", + "@smithy/util-base64": "^2.2.0", "@smithy/util-buffer-from": "^2.1.1", "@smithy/util-hex-encoding": "^2.1.1", - "@smithy/util-utf8": "^2.1.1", + "@smithy/util-utf8": "^2.2.0", "tslib": "^2.5.0" } }, @@ -4694,21 +4844,21 @@ } }, "@smithy/util-utf8": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.1.1.tgz", - "integrity": "sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.2.0.tgz", + "integrity": "sha512-hBsKr5BqrDrKS8qy+YcV7/htmMGxriA1PREOf/8AGBhHIZnfilVv1Waf1OyKhSbFW15U/8+gcMUQ9/Kk5qwpHQ==", "requires": { "@smithy/util-buffer-from": "^2.1.1", "tslib": "^2.5.0" } }, "@smithy/util-waiter": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.1.3.tgz", - "integrity": "sha512-3R0wNFAQQoH9e4m+bVLDYNOst2qNxtxFgq03WoNHWTBOqQT3jFnOBRj1W51Rf563xDA5kwqjziksxn6RKkHB+Q==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.1.4.tgz", + "integrity": "sha512-AK17WaC0hx1wR9juAOsQkJ6DjDxBGEf5TrKhpXtNFEn+cVto9Li3MVsdpAO97AF7bhFXSyC8tJA3F4ThhqwCdg==", "requires": { - "@smithy/abort-controller": "^2.1.3", - "@smithy/types": "^2.10.1", + "@smithy/abort-controller": "^2.1.4", + "@smithy/types": "^2.11.0", "tslib": "^2.5.0" } }, @@ -4722,6 +4872,17 @@ "json5": "^2.2.0", "magic-string": "^0.25.0", "string.prototype.matchall": "^4.0.6" + }, + "dependencies": { + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + } } }, "@svgr/babel-plugin-add-jsx-attribute": { @@ -4883,6 +5044,12 @@ "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==", + "dev": true + }, "@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -5299,25 +5466,51 @@ "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==", - "dev": true, - "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==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.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.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "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/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==", + "dev": true, + "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==", + "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" } @@ -5363,6 +5556,32 @@ "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.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "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": { @@ -5396,6 +5615,30 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "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" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "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 } } }, @@ -5773,12 +6016,11 @@ "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, + "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": "^2.0.1" + "color-convert": "^1.9.0" } }, "ansicolors": { @@ -6087,13 +6329,13 @@ "dev": true }, "autoprefixer": { - "version": "10.4.17", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", - "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", + "version": "10.4.18", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.18.tgz", + "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==", "dev": true, "requires": { - "browserslist": "^4.22.2", - "caniuse-lite": "^1.0.30001578", + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001591", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -6138,6 +6380,57 @@ "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==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "babel-loader": { @@ -6255,14 +6548,6 @@ "@babel/compat-data": "^7.22.6", "@babel/helper-define-polyfill-provider": "^0.5.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-plugin-polyfill-corejs3": { @@ -6575,32 +6860,11 @@ } }, "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "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" - } - } + "fill-range": "^7.0.1" } }, "browser-process-hrtime": { @@ -6756,9 +7020,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001589", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz", - "integrity": "sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==" + "version": "1.0.30001596", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001596.tgz", + "integrity": "sha512-zpkZ+kEr6We7w63ORkoJ2pOfBwBkY/bJrG/UZ90qNb45Isblu8wzDgevEOrRL1r9dWayHjYiiyCMEXPn4DweGQ==" }, "cardinal": { "version": "2.1.1", @@ -6777,13 +7041,13 @@ "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, + "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": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "char-regex": { @@ -6817,45 +7081,6 @@ "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" - }, - "dependencies": { - "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" - } - }, - "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" - } - }, - "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" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "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" - } - } } }, "chrome-trace-event": { @@ -6987,58 +7212,6 @@ "@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==", - "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 - }, - "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" - } - } } }, "code-point-at": { @@ -7064,19 +7237,17 @@ } }, "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, + "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.4" + "color-name": "1.1.3" } }, "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 + "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", @@ -7127,6 +7298,16 @@ "strip-json-comments": "3.1.1" }, "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" + } + }, "fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -7139,6 +7320,29 @@ "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==", + "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" + } + }, "minimist": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", @@ -7263,37 +7467,6 @@ "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "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" - }, - "dependencies": { - "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" - } - } - } - }, "cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", @@ -7305,21 +7478,6 @@ "wrap-ansi": "^2.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==", - "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 - }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -7336,9 +7494,9 @@ "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==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==", "dev": true }, "hosted-git-info": { @@ -7375,6 +7533,15 @@ "validate-npm-package-license": "^3.0.1" } }, + "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", @@ -7443,14 +7610,6 @@ "dev": true, "requires": { "has-flag": "^2.0.0" - }, - "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==", - "dev": true - } } }, "wrap-ansi": { @@ -7608,14 +7767,6 @@ "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-commit-types": { @@ -7634,10 +7785,22 @@ "modify-values": "^1.0.0" } }, + "conventional-commits-parser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz", + "integrity": "sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==", + "dev": true, + "requires": { + "JSONStream": "^1.3.5", + "is-text-path": "^1.0.1", + "meow": "^8.1.2", + "split2": "^3.2.2" + } + }, "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==" + "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==" }, "cookie": { "version": "0.5.0", @@ -7671,6 +7834,15 @@ "serialize-javascript": "^6.0.0" }, "dependencies": { + "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" + } + }, "globby": { "version": "13.2.2", "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", @@ -7719,15 +7891,23 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, + "cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "requires": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + } + }, "cosmiconfig-typescript-loader": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.4.0.tgz", "integrity": "sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==", - "dev": true, - "optional": true, - "dependencies": { - "cosmiconfig": {} - } + "dev": true }, "create-require": { "version": "1.1.1", @@ -7790,6 +7970,32 @@ "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", "semver": "^7.5.4" + }, + "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.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "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 + } } }, "css-minimizer-webpack-plugin": { @@ -7975,58 +8181,6 @@ "lodash.map": "^4.5.1", "longest": "^2.0.1", "word-wrap": "^1.0.3" - }, - "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 - }, - "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" - } - } } }, "damerau-levenshtein": { @@ -8050,6 +8204,34 @@ "abab": "^2.0.3", "whatwg-mimetype": "^2.3.0", "whatwg-url": "^8.0.0" + }, + "dependencies": { + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, + "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" + } + } } }, "date-fns": { @@ -8076,13 +8258,6 @@ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } } }, "decamelize": { @@ -8166,9 +8341,6 @@ "dev": true, "requires": { "execa": "^5.0.0" - }, - "dependencies": { - "cross-spawn": {} } }, "defaults": { @@ -8230,6 +8402,22 @@ } } }, + "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" + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -8474,10 +8662,9 @@ } }, "dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", - "dev": true + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==" }, "dotenv-expand": { "version": "5.1.0", @@ -8554,9 +8741,9 @@ } }, "electron-to-chromium": { - "version": "1.4.695", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.695.tgz", - "integrity": "sha512-eMijZmeqPtm774pCZIOrfUHMs/7ls++W1sLhxwqgu8KQ8E2WmMtzwyqOMt0XXUJ3HTIPfuwlfwF+I5cwnfItBA==" + "version": "1.4.698", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.698.tgz", + "integrity": "sha512-f9iZD1t3CLy1AS6vzM5EKGa6p9pRcOeEFXRFbaG2Ta+Oe7MkfRQ3fsvPYidzHe1h4i0JvIvpcY55C+B6BZNGtQ==" }, "emittery": { "version": "0.8.1", @@ -8915,12 +9102,65 @@ "uri-js": "^4.2.2" } }, + "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" + } + }, + "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" + } + }, + "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 }, + "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.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", @@ -8930,12 +9170,36 @@ "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 + }, "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 }, + "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" + } + }, + "supports-color": { + "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", @@ -9043,6 +9307,16 @@ "tsconfig-paths": "^3.15.0" }, "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" + } + }, "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -9061,11 +9335,14 @@ "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 + "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" + } } } }, @@ -9102,11 +9379,30 @@ "object.fromentries": "^2.0.7" }, "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" + } + }, "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 + }, + "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" + } } } }, @@ -9136,6 +9432,16 @@ "string.prototype.matchall": "^4.0.10" }, "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" + } + }, "doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -9145,6 +9451,15 @@ "esutils": "^2.0.2" } }, + "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" + } + }, "resolve": { "version": "2.0.0-next.5", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", @@ -9155,12 +9470,6 @@ "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 } } }, @@ -9208,6 +9517,12 @@ "schema-utils": "^4.0.0" }, "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "jest-worker": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", @@ -9551,16 +9866,6 @@ "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": { @@ -9714,26 +10019,11 @@ "dev": true }, "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, + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "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" - } - } + "to-regex-range": "^5.0.1" } }, "finalhandler": { @@ -9802,13 +10092,6 @@ "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" - }, - "dependencies": { - "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==" - } } }, "find-versions": { @@ -9932,6 +10215,50 @@ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "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" + } + }, + "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" + } + }, + "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 + }, "cosmiconfig": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", @@ -9957,12 +10284,50 @@ "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==", + "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" + } + }, + "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 + }, "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 }, + "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" + } + }, + "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" + } + }, "schema-utils": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", @@ -9974,11 +10339,35 @@ "ajv-keywords": "^3.4.1" } }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, "tapable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "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 } } }, @@ -10258,26 +10647,22 @@ } }, "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", + "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", "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": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.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, + "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.3" + "is-glob": "^4.0.1" } }, "glob-to-regexp": { @@ -10426,10 +10811,9 @@ "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 + "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.2", @@ -10482,6 +10866,26 @@ "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", @@ -10544,6 +10948,23 @@ "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" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "hpack.js": { @@ -10734,14 +11155,6 @@ "@tootallnate/once": "1", "agent-base": "6", "debug": "4" - }, - "dependencies": { - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true - } } }, "http-proxy-middleware": { @@ -10925,6 +11338,46 @@ "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" + } + }, + "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 + }, "rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", @@ -10933,6 +11386,15 @@ "requires": { "tslib": "^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==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -11309,24 +11771,9 @@ "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" - } - } - } + "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", @@ -11523,6 +11970,15 @@ "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==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -11569,14 +12025,6 @@ "@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 - } } }, "istanbul-lib-report": { @@ -11590,6 +12038,21 @@ "supports-color": "^7.1.0" }, "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "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" + } + }, "make-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", @@ -11598,6 +12061,30 @@ "requires": { "semver": "^7.5.3" } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true } } }, @@ -11655,25 +12142,114 @@ "chalk": "^4.0.2", "filelist": "^1.0.4", "minimatch": "^3.1.2" - } - }, - "java-properties": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz", - "integrity": "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==", - "dev": true - }, - "jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", - "dev": true, - "requires": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "supports-color": { + "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" + } + } + } + }, + "java-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz", + "integrity": "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==", + "dev": true + }, + "jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dev": true, + "requires": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", "jest-cli": "^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==", + "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" + } + }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -11685,6 +12261,27 @@ "wrap-ansi": "^7.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 + }, + "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 + }, "jest-cli": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", @@ -11705,6 +12302,15 @@ "yargs": "^16.2.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" + } + }, "yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", @@ -11758,6 +12364,57 @@ "slash": "^3.0.0", "stack-utils": "^2.0.3", "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-config": { @@ -11792,11 +12449,93 @@ "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==", + "dev": true, + "requires": { + "color-convert": "^2.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==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.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 + }, + "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" + } + }, + "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 + }, + "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" + } + }, "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" + } } } }, @@ -11810,6 +12549,57 @@ "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==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-docblock": { @@ -11832,6 +12622,57 @@ "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==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-environment-jsdom": { @@ -11913,6 +12754,57 @@ "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==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-leak-detector": { @@ -11935,6 +12827,57 @@ "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==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-message-util": { @@ -11952,6 +12895,57 @@ "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==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-mock": { @@ -11992,6 +12986,57 @@ "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==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-resolve-dependencies": { @@ -12032,6 +13077,57 @@ "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==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-runtime": { @@ -12062,6 +13158,90 @@ "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==", + "dev": true, + "requires": { + "color-convert": "^2.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==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.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 + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-serializer": { @@ -12102,6 +13282,81 @@ "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==", + "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 + }, + "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.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "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": { @@ -12116,6 +13371,57 @@ "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==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-validate": { @@ -12132,11 +13438,60 @@ "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==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, "camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -12213,9 +13568,37 @@ } }, "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "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 }, "emittery": { @@ -12224,6 +13607,12 @@ "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", "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 + }, "jest-message-util": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", @@ -12316,6 +13705,14 @@ "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==", + "dev": true + } } }, "react-is": { @@ -12364,6 +13761,15 @@ "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" + } } } }, @@ -12380,6 +13786,57 @@ "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==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-worker": { @@ -12393,6 +13850,12 @@ "supports-color": "^8.0.0" }, "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -12470,6 +13933,32 @@ "esutils": "^2.0.2", "source-map": "~0.6.1" } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, + "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" + } } } }, @@ -12855,6 +14344,57 @@ "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==", + "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" + } + } } }, "loglevel": { @@ -12887,21 +14427,19 @@ } }, "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, + "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": "^4.0.0" + "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==", - "dev": true, + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", "requires": { - "sourcemap-codec": "^1.4.8" + "@jridgewell/sourcemap-codec": "^1.4.13" } }, "make-dir": { @@ -12911,14 +14449,6 @@ "dev": true, "requires": { "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 - } } }, "make-error": { @@ -13108,20 +14638,6 @@ "trim-newlines": "^3.0.0", "type-fest": "^0.18.0", "yargs-parser": "^20.2.3" - }, - "dependencies": { - "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" - } - } } }, "merge": { @@ -13160,37 +14676,6 @@ "requires": { "braces": "^3.0.2", "picomatch": "^2.3.1" - }, - "dependencies": { - "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" - } - }, - "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" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "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" - } - } } }, "mime": { @@ -13271,6 +14756,16 @@ "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } + }, + "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" + } } } }, @@ -13281,24 +14776,11 @@ "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, + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", + "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", "requires": { - "brace-expansion": "^1.1.7" - }, - "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" - } - } + "brace-expansion": "^2.0.1" } }, "minimist": { @@ -13318,6 +14800,11 @@ "kind-of": "^6.0.3" } }, + "minipass": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==" + }, "mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", @@ -13339,6 +14826,15 @@ } } }, + "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" + } + }, "modify-values": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", @@ -13352,10 +14848,9 @@ "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 + "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", @@ -13483,27 +14978,6 @@ "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "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==" - }, - "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-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" - } - } } }, "node-forge": { @@ -13523,6 +14997,44 @@ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, + "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" + }, + "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.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "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 + } + } + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -13623,19 +15135,23 @@ "dependencies": { "@colors/colors": { "version": "1.5.0", + "bundled": true, "dev": true, "optional": true }, "@gar/promisify": { "version": "1.1.3", + "bundled": true, "dev": true }, "@isaacs/string-locale-compare": { "version": "1.1.0", + "bundled": true, "dev": true }, "@npmcli/arborist": { "version": "5.6.3", + "bundled": true, "dev": true, "requires": { "@isaacs/string-locale-compare": "^1.1.0", @@ -13679,10 +15195,12 @@ }, "@npmcli/ci-detect": { "version": "2.0.0", + "bundled": true, "dev": true }, "@npmcli/config": { "version": "4.2.2", + "bundled": true, "dev": true, "requires": { "@npmcli/map-workspaces": "^2.0.2", @@ -13697,6 +15215,7 @@ }, "@npmcli/disparity-colors": { "version": "2.0.0", + "bundled": true, "dev": true, "requires": { "ansi-styles": "^4.3.0" @@ -13704,6 +15223,7 @@ }, "@npmcli/fs": { "version": "2.1.2", + "bundled": true, "dev": true, "requires": { "@gar/promisify": "^1.1.3", @@ -13712,6 +15232,7 @@ }, "@npmcli/git": { "version": "3.0.2", + "bundled": true, "dev": true, "requires": { "@npmcli/promise-spawn": "^3.0.0", @@ -13727,6 +15248,7 @@ }, "@npmcli/installed-package-contents": { "version": "1.0.7", + "bundled": true, "dev": true, "requires": { "npm-bundled": "^1.1.1", @@ -13735,6 +15257,7 @@ "dependencies": { "npm-bundled": { "version": "1.1.2", + "bundled": true, "dev": true, "requires": { "npm-normalize-package-bin": "^1.0.1" @@ -13744,6 +15267,7 @@ }, "@npmcli/map-workspaces": { "version": "2.0.4", + "bundled": true, "dev": true, "requires": { "@npmcli/name-from-folder": "^1.0.1", @@ -13754,6 +15278,7 @@ }, "@npmcli/metavuln-calculator": { "version": "3.1.1", + "bundled": true, "dev": true, "requires": { "cacache": "^16.0.0", @@ -13764,6 +15289,7 @@ }, "@npmcli/move-file": { "version": "2.0.1", + "bundled": true, "dev": true, "requires": { "mkdirp": "^1.0.4", @@ -13772,14 +15298,17 @@ }, "@npmcli/name-from-folder": { "version": "1.0.1", + "bundled": true, "dev": true }, "@npmcli/node-gyp": { "version": "2.0.0", + "bundled": true, "dev": true }, "@npmcli/package-json": { "version": "2.0.0", + "bundled": true, "dev": true, "requires": { "json-parse-even-better-errors": "^2.3.1" @@ -13787,6 +15316,7 @@ }, "@npmcli/promise-spawn": { "version": "3.0.0", + "bundled": true, "dev": true, "requires": { "infer-owner": "^1.0.4" @@ -13794,6 +15324,7 @@ }, "@npmcli/query": { "version": "1.2.0", + "bundled": true, "dev": true, "requires": { "npm-package-arg": "^9.1.0", @@ -13803,6 +15334,7 @@ }, "@npmcli/run-script": { "version": "4.2.1", + "bundled": true, "dev": true, "requires": { "@npmcli/node-gyp": "^2.0.0", @@ -13814,14 +15346,17 @@ }, "@tootallnate/once": { "version": "2.0.0", + "bundled": true, "dev": true }, "abbrev": { "version": "1.1.1", + "bundled": true, "dev": true }, "agent-base": { "version": "6.0.2", + "bundled": true, "dev": true, "requires": { "debug": "4" @@ -13829,6 +15364,7 @@ }, "agentkeepalive": { "version": "4.2.1", + "bundled": true, "dev": true, "requires": { "debug": "^4.1.0", @@ -13838,6 +15374,7 @@ }, "aggregate-error": { "version": "3.1.0", + "bundled": true, "dev": true, "requires": { "clean-stack": "^2.0.0", @@ -13846,10 +15383,12 @@ }, "ansi-regex": { "version": "5.0.1", + "bundled": true, "dev": true }, "ansi-styles": { "version": "4.3.0", + "bundled": true, "dev": true, "requires": { "color-convert": "^2.0.1" @@ -13857,14 +15396,17 @@ }, "aproba": { "version": "2.0.0", + "bundled": true, "dev": true }, "archy": { "version": "1.0.0", + "bundled": true, "dev": true }, "are-we-there-yet": { "version": "3.0.1", + "bundled": true, "dev": true, "requires": { "delegates": "^1.0.0", @@ -13873,14 +15415,17 @@ }, "asap": { "version": "2.0.6", + "bundled": true, "dev": true }, "balanced-match": { "version": "1.0.2", + "bundled": true, "dev": true }, "bin-links": { "version": "3.0.3", + "bundled": true, "dev": true, "requires": { "cmd-shim": "^5.0.0", @@ -13893,16 +15438,19 @@ "dependencies": { "npm-normalize-package-bin": { "version": "2.0.0", + "bundled": true, "dev": true } } }, "binary-extensions": { "version": "2.2.0", + "bundled": true, "dev": true }, "brace-expansion": { "version": "2.0.1", + "bundled": true, "dev": true, "requires": { "balanced-match": "^1.0.0" @@ -13910,6 +15458,7 @@ }, "builtins": { "version": "5.0.1", + "bundled": true, "dev": true, "requires": { "semver": "^7.0.0" @@ -13917,6 +15466,7 @@ }, "cacache": { "version": "16.1.3", + "bundled": true, "dev": true, "requires": { "@npmcli/fs": "^2.1.0", @@ -13941,6 +15491,7 @@ }, "chalk": { "version": "4.1.2", + "bundled": true, "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -13949,10 +15500,12 @@ }, "chownr": { "version": "2.0.0", + "bundled": true, "dev": true }, "cidr-regex": { "version": "3.1.1", + "bundled": true, "dev": true, "requires": { "ip-regex": "^4.1.0" @@ -13960,10 +15513,12 @@ }, "clean-stack": { "version": "2.2.0", + "bundled": true, "dev": true }, "cli-columns": { "version": "4.0.0", + "bundled": true, "dev": true, "requires": { "string-width": "^4.2.3", @@ -13972,6 +15527,7 @@ }, "cli-table3": { "version": "0.6.2", + "bundled": true, "dev": true, "requires": { "@colors/colors": "1.5.0", @@ -13980,10 +15536,12 @@ }, "clone": { "version": "1.0.4", + "bundled": true, "dev": true }, "cmd-shim": { "version": "5.0.0", + "bundled": true, "dev": true, "requires": { "mkdirp-infer-owner": "^2.0.0" @@ -13991,6 +15549,7 @@ }, "color-convert": { "version": "2.0.1", + "bundled": true, "dev": true, "requires": { "color-name": "~1.1.4" @@ -13998,14 +15557,17 @@ }, "color-name": { "version": "1.1.4", + "bundled": true, "dev": true }, "color-support": { "version": "1.1.3", + "bundled": true, "dev": true }, "columnify": { "version": "1.6.0", + "bundled": true, "dev": true, "requires": { "strip-ansi": "^6.0.1", @@ -14014,22 +15576,27 @@ }, "common-ancestor-path": { "version": "1.0.1", + "bundled": true, "dev": true }, "concat-map": { "version": "0.0.1", + "bundled": true, "dev": true }, "console-control-strings": { "version": "1.1.0", + "bundled": true, "dev": true }, "cssesc": { "version": "3.0.0", + "bundled": true, "dev": true }, "debug": { "version": "4.3.4", + "bundled": true, "dev": true, "requires": { "ms": "2.1.2" @@ -14037,16 +15604,19 @@ "dependencies": { "ms": { "version": "2.1.2", + "bundled": true, "dev": true } } }, "debuglog": { "version": "1.0.1", + "bundled": true, "dev": true }, "defaults": { "version": "1.0.3", + "bundled": true, "dev": true, "requires": { "clone": "^1.0.2" @@ -14054,14 +15624,17 @@ }, "delegates": { "version": "1.0.0", + "bundled": true, "dev": true }, "depd": { "version": "1.1.2", + "bundled": true, "dev": true }, "dezalgo": { "version": "1.0.4", + "bundled": true, "dev": true, "requires": { "asap": "^2.0.0", @@ -14070,14 +15643,17 @@ }, "diff": { "version": "5.1.0", + "bundled": true, "dev": true }, "emoji-regex": { "version": "8.0.0", + "bundled": true, "dev": true }, "encoding": { "version": "0.1.13", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -14086,18 +15662,22 @@ }, "env-paths": { "version": "2.2.1", + "bundled": true, "dev": true }, "err-code": { "version": "2.0.3", + "bundled": true, "dev": true }, "fastest-levenshtein": { "version": "1.0.12", + "bundled": true, "dev": true }, "fs-minipass": { "version": "2.1.0", + "bundled": true, "dev": true, "requires": { "minipass": "^3.0.0" @@ -14105,14 +15685,17 @@ }, "fs.realpath": { "version": "1.0.0", + "bundled": true, "dev": true }, "function-bind": { "version": "1.1.1", + "bundled": true, "dev": true }, "gauge": { "version": "4.0.4", + "bundled": true, "dev": true, "requires": { "aproba": "^1.0.3 || ^2.0.0", @@ -14127,6 +15710,7 @@ }, "glob": { "version": "8.0.3", + "bundled": true, "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -14138,10 +15722,12 @@ }, "graceful-fs": { "version": "4.2.10", + "bundled": true, "dev": true }, "has": { "version": "1.0.3", + "bundled": true, "dev": true, "requires": { "function-bind": "^1.1.1" @@ -14149,14 +15735,17 @@ }, "has-flag": { "version": "4.0.0", + "bundled": true, "dev": true }, "has-unicode": { "version": "2.0.1", + "bundled": true, "dev": true }, "hosted-git-info": { "version": "5.2.1", + "bundled": true, "dev": true, "requires": { "lru-cache": "^7.5.1" @@ -14164,10 +15753,12 @@ }, "http-cache-semantics": { "version": "4.1.1", + "bundled": true, "dev": true }, "http-proxy-agent": { "version": "5.0.0", + "bundled": true, "dev": true, "requires": { "@tootallnate/once": "2", @@ -14177,6 +15768,7 @@ }, "https-proxy-agent": { "version": "5.0.1", + "bundled": true, "dev": true, "requires": { "agent-base": "6", @@ -14185,6 +15777,7 @@ }, "humanize-ms": { "version": "1.2.1", + "bundled": true, "dev": true, "requires": { "ms": "^2.0.0" @@ -14192,6 +15785,7 @@ }, "iconv-lite": { "version": "0.6.3", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -14200,6 +15794,7 @@ }, "ignore-walk": { "version": "5.0.1", + "bundled": true, "dev": true, "requires": { "minimatch": "^5.0.1" @@ -14207,18 +15802,22 @@ }, "imurmurhash": { "version": "0.1.4", + "bundled": true, "dev": true }, "indent-string": { "version": "4.0.0", + "bundled": true, "dev": true }, "infer-owner": { "version": "1.0.4", + "bundled": true, "dev": true }, "inflight": { "version": "1.0.6", + "bundled": true, "dev": true, "requires": { "once": "^1.3.0", @@ -14227,14 +15826,17 @@ }, "inherits": { "version": "2.0.4", + "bundled": true, "dev": true }, "ini": { "version": "3.0.1", + "bundled": true, "dev": true }, "init-package-json": { "version": "3.0.2", + "bundled": true, "dev": true, "requires": { "npm-package-arg": "^9.0.1", @@ -14248,14 +15850,17 @@ }, "ip": { "version": "2.0.0", + "bundled": true, "dev": true }, "ip-regex": { "version": "4.3.0", + "bundled": true, "dev": true }, "is-cidr": { "version": "4.0.2", + "bundled": true, "dev": true, "requires": { "cidr-regex": "^3.1.1" @@ -14263,6 +15868,7 @@ }, "is-core-module": { "version": "2.10.0", + "bundled": true, "dev": true, "requires": { "has": "^1.0.3" @@ -14270,38 +15876,47 @@ }, "is-fullwidth-code-point": { "version": "3.0.0", + "bundled": true, "dev": true }, "is-lambda": { "version": "1.0.1", + "bundled": true, "dev": true }, "isexe": { "version": "2.0.0", + "bundled": true, "dev": true }, "json-parse-even-better-errors": { "version": "2.3.1", + "bundled": true, "dev": true }, "json-stringify-nice": { "version": "1.1.4", + "bundled": true, "dev": true }, "jsonparse": { "version": "1.3.1", + "bundled": true, "dev": true }, "just-diff": { "version": "5.1.1", + "bundled": true, "dev": true }, "just-diff-apply": { "version": "5.4.1", + "bundled": true, "dev": true }, "libnpmaccess": { "version": "6.0.4", + "bundled": true, "dev": true, "requires": { "aproba": "^2.0.0", @@ -14312,6 +15927,7 @@ }, "libnpmdiff": { "version": "4.0.5", + "bundled": true, "dev": true, "requires": { "@npmcli/disparity-colors": "^2.0.0", @@ -14326,6 +15942,7 @@ }, "libnpmexec": { "version": "4.0.14", + "bundled": true, "dev": true, "requires": { "@npmcli/arborist": "^5.6.3", @@ -14346,6 +15963,7 @@ }, "libnpmfund": { "version": "3.0.5", + "bundled": true, "dev": true, "requires": { "@npmcli/arborist": "^5.6.3" @@ -14353,6 +15971,7 @@ }, "libnpmhook": { "version": "8.0.4", + "bundled": true, "dev": true, "requires": { "aproba": "^2.0.0", @@ -14361,6 +15980,7 @@ }, "libnpmorg": { "version": "4.0.4", + "bundled": true, "dev": true, "requires": { "aproba": "^2.0.0", @@ -14369,6 +15989,7 @@ }, "libnpmpack": { "version": "4.1.3", + "bundled": true, "dev": true, "requires": { "@npmcli/run-script": "^4.1.3", @@ -14378,6 +15999,7 @@ }, "libnpmpublish": { "version": "6.0.5", + "bundled": true, "dev": true, "requires": { "normalize-package-data": "^4.0.0", @@ -14389,6 +16011,7 @@ }, "libnpmsearch": { "version": "5.0.4", + "bundled": true, "dev": true, "requires": { "npm-registry-fetch": "^13.0.0" @@ -14396,6 +16019,7 @@ }, "libnpmteam": { "version": "4.0.4", + "bundled": true, "dev": true, "requires": { "aproba": "^2.0.0", @@ -14404,6 +16028,7 @@ }, "libnpmversion": { "version": "3.0.7", + "bundled": true, "dev": true, "requires": { "@npmcli/git": "^3.0.0", @@ -14415,10 +16040,12 @@ }, "lru-cache": { "version": "7.13.2", + "bundled": true, "dev": true }, "make-fetch-happen": { "version": "10.2.1", + "bundled": true, "dev": true, "requires": { "agentkeepalive": "^4.2.1", @@ -14441,6 +16068,7 @@ }, "minimatch": { "version": "5.1.0", + "bundled": true, "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -14448,6 +16076,7 @@ }, "minipass": { "version": "3.3.4", + "bundled": true, "dev": true, "requires": { "yallist": "^4.0.0" @@ -14455,6 +16084,7 @@ }, "minipass-collect": { "version": "1.0.2", + "bundled": true, "dev": true, "requires": { "minipass": "^3.0.0" @@ -14462,6 +16092,7 @@ }, "minipass-fetch": { "version": "2.1.1", + "bundled": true, "dev": true, "requires": { "encoding": "^0.1.13", @@ -14472,6 +16103,7 @@ }, "minipass-flush": { "version": "1.0.5", + "bundled": true, "dev": true, "requires": { "minipass": "^3.0.0" @@ -14479,6 +16111,7 @@ }, "minipass-json-stream": { "version": "1.0.1", + "bundled": true, "dev": true, "requires": { "jsonparse": "^1.3.1", @@ -14487,6 +16120,7 @@ }, "minipass-pipeline": { "version": "1.2.4", + "bundled": true, "dev": true, "requires": { "minipass": "^3.0.0" @@ -14494,6 +16128,7 @@ }, "minipass-sized": { "version": "1.0.3", + "bundled": true, "dev": true, "requires": { "minipass": "^3.0.0" @@ -14501,6 +16136,7 @@ }, "minizlib": { "version": "2.1.2", + "bundled": true, "dev": true, "requires": { "minipass": "^3.0.0", @@ -14509,10 +16145,12 @@ }, "mkdirp": { "version": "1.0.4", + "bundled": true, "dev": true }, "mkdirp-infer-owner": { "version": "2.0.0", + "bundled": true, "dev": true, "requires": { "chownr": "^2.0.0", @@ -14522,18 +16160,22 @@ }, "ms": { "version": "2.1.3", + "bundled": true, "dev": true }, "mute-stream": { "version": "0.0.8", + "bundled": true, "dev": true }, "negotiator": { "version": "0.6.3", + "bundled": true, "dev": true }, "node-gyp": { "version": "9.1.0", + "bundled": true, "dev": true, "requires": { "env-paths": "^2.2.0", @@ -14550,6 +16192,7 @@ "dependencies": { "brace-expansion": { "version": "1.1.11", + "bundled": true, "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -14558,6 +16201,7 @@ }, "glob": { "version": "7.2.3", + "bundled": true, "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -14570,6 +16214,7 @@ }, "minimatch": { "version": "3.1.2", + "bundled": true, "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -14577,6 +16222,7 @@ }, "nopt": { "version": "5.0.0", + "bundled": true, "dev": true, "requires": { "abbrev": "1" @@ -14586,6 +16232,7 @@ }, "nopt": { "version": "6.0.0", + "bundled": true, "dev": true, "requires": { "abbrev": "^1.0.0" @@ -14593,6 +16240,7 @@ }, "normalize-package-data": { "version": "4.0.1", + "bundled": true, "dev": true, "requires": { "hosted-git-info": "^5.0.0", @@ -14603,6 +16251,7 @@ }, "npm-audit-report": { "version": "3.0.0", + "bundled": true, "dev": true, "requires": { "chalk": "^4.0.0" @@ -14610,6 +16259,7 @@ }, "npm-bundled": { "version": "2.0.1", + "bundled": true, "dev": true, "requires": { "npm-normalize-package-bin": "^2.0.0" @@ -14617,12 +16267,14 @@ "dependencies": { "npm-normalize-package-bin": { "version": "2.0.0", + "bundled": true, "dev": true } } }, "npm-install-checks": { "version": "5.0.0", + "bundled": true, "dev": true, "requires": { "semver": "^7.1.1" @@ -14630,10 +16282,12 @@ }, "npm-normalize-package-bin": { "version": "1.0.1", + "bundled": true, "dev": true }, "npm-package-arg": { "version": "9.1.0", + "bundled": true, "dev": true, "requires": { "hosted-git-info": "^5.0.0", @@ -14644,6 +16298,7 @@ }, "npm-packlist": { "version": "5.1.3", + "bundled": true, "dev": true, "requires": { "glob": "^8.0.1", @@ -14654,12 +16309,14 @@ "dependencies": { "npm-normalize-package-bin": { "version": "2.0.0", + "bundled": true, "dev": true } } }, "npm-pick-manifest": { "version": "7.0.2", + "bundled": true, "dev": true, "requires": { "npm-install-checks": "^5.0.0", @@ -14670,12 +16327,14 @@ "dependencies": { "npm-normalize-package-bin": { "version": "2.0.0", + "bundled": true, "dev": true } } }, "npm-profile": { "version": "6.2.1", + "bundled": true, "dev": true, "requires": { "npm-registry-fetch": "^13.0.1", @@ -14684,6 +16343,7 @@ }, "npm-registry-fetch": { "version": "13.3.1", + "bundled": true, "dev": true, "requires": { "make-fetch-happen": "^10.0.6", @@ -14697,10 +16357,12 @@ }, "npm-user-validate": { "version": "1.0.1", + "bundled": true, "dev": true }, "npmlog": { "version": "6.0.2", + "bundled": true, "dev": true, "requires": { "are-we-there-yet": "^3.0.0", @@ -14711,6 +16373,7 @@ }, "once": { "version": "1.4.0", + "bundled": true, "dev": true, "requires": { "wrappy": "1" @@ -14718,10 +16381,12 @@ }, "opener": { "version": "1.5.2", + "bundled": true, "dev": true }, "p-map": { "version": "4.0.0", + "bundled": true, "dev": true, "requires": { "aggregate-error": "^3.0.0" @@ -14729,6 +16394,7 @@ }, "pacote": { "version": "13.6.2", + "bundled": true, "dev": true, "requires": { "@npmcli/git": "^3.0.0", @@ -14756,6 +16422,7 @@ }, "parse-conflict-json": { "version": "2.0.2", + "bundled": true, "dev": true, "requires": { "json-parse-even-better-errors": "^2.3.1", @@ -14765,10 +16432,12 @@ }, "path-is-absolute": { "version": "1.0.1", + "bundled": true, "dev": true }, "postcss-selector-parser": { "version": "6.0.10", + "bundled": true, "dev": true, "requires": { "cssesc": "^3.0.0", @@ -14777,22 +16446,27 @@ }, "proc-log": { "version": "2.0.1", + "bundled": true, "dev": true }, "promise-all-reject-late": { "version": "1.0.1", + "bundled": true, "dev": true }, "promise-call-limit": { "version": "1.0.1", + "bundled": true, "dev": true }, "promise-inflight": { "version": "1.0.1", + "bundled": true, "dev": true }, "promise-retry": { "version": "2.0.1", + "bundled": true, "dev": true, "requires": { "err-code": "^2.0.2", @@ -14801,6 +16475,7 @@ }, "promzard": { "version": "0.3.0", + "bundled": true, "dev": true, "requires": { "read": "1" @@ -14808,10 +16483,12 @@ }, "qrcode-terminal": { "version": "0.12.0", + "bundled": true, "dev": true }, "read": { "version": "1.0.7", + "bundled": true, "dev": true, "requires": { "mute-stream": "~0.0.4" @@ -14819,10 +16496,12 @@ }, "read-cmd-shim": { "version": "3.0.0", + "bundled": true, "dev": true }, "read-package-json": { "version": "5.0.2", + "bundled": true, "dev": true, "requires": { "glob": "^8.0.1", @@ -14833,12 +16512,14 @@ "dependencies": { "npm-normalize-package-bin": { "version": "2.0.0", + "bundled": true, "dev": true } } }, "read-package-json-fast": { "version": "2.0.3", + "bundled": true, "dev": true, "requires": { "json-parse-even-better-errors": "^2.3.0", @@ -14847,6 +16528,7 @@ }, "readable-stream": { "version": "3.6.0", + "bundled": true, "dev": true, "requires": { "inherits": "^2.0.3", @@ -14856,6 +16538,7 @@ }, "readdir-scoped-modules": { "version": "1.1.0", + "bundled": true, "dev": true, "requires": { "debuglog": "^1.0.1", @@ -14866,10 +16549,12 @@ }, "retry": { "version": "0.12.0", + "bundled": true, "dev": true }, "rimraf": { "version": "3.0.2", + "bundled": true, "dev": true, "requires": { "glob": "^7.1.3" @@ -14877,6 +16562,7 @@ "dependencies": { "brace-expansion": { "version": "1.1.11", + "bundled": true, "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -14885,6 +16571,7 @@ }, "glob": { "version": "7.2.3", + "bundled": true, "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -14897,6 +16584,7 @@ }, "minimatch": { "version": "3.1.2", + "bundled": true, "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -14906,15 +16594,18 @@ }, "safe-buffer": { "version": "5.2.1", + "bundled": true, "dev": true }, "safer-buffer": { "version": "2.1.2", + "bundled": true, "dev": true, "optional": true }, "semver": { "version": "7.3.7", + "bundled": true, "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -14922,6 +16613,7 @@ "dependencies": { "lru-cache": { "version": "6.0.0", + "bundled": true, "dev": true, "requires": { "yallist": "^4.0.0" @@ -14931,18 +16623,22 @@ }, "set-blocking": { "version": "2.0.0", + "bundled": true, "dev": true }, "signal-exit": { "version": "3.0.7", + "bundled": true, "dev": true }, "smart-buffer": { "version": "4.2.0", + "bundled": true, "dev": true }, "socks": { "version": "2.7.0", + "bundled": true, "dev": true, "requires": { "ip": "^2.0.0", @@ -14951,6 +16647,7 @@ }, "socks-proxy-agent": { "version": "7.0.0", + "bundled": true, "dev": true, "requires": { "agent-base": "^6.0.2", @@ -14960,6 +16657,7 @@ }, "spdx-correct": { "version": "3.1.1", + "bundled": true, "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -14968,10 +16666,12 @@ }, "spdx-exceptions": { "version": "2.3.0", + "bundled": true, "dev": true }, "spdx-expression-parse": { "version": "3.0.1", + "bundled": true, "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -14980,10 +16680,12 @@ }, "spdx-license-ids": { "version": "3.0.11", + "bundled": true, "dev": true }, "ssri": { "version": "9.0.1", + "bundled": true, "dev": true, "requires": { "minipass": "^3.1.1" @@ -14991,6 +16693,7 @@ }, "string-width": { "version": "4.2.3", + "bundled": true, "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -15000,6 +16703,7 @@ }, "string_decoder": { "version": "1.3.0", + "bundled": true, "dev": true, "requires": { "safe-buffer": "~5.2.0" @@ -15007,6 +16711,7 @@ }, "strip-ansi": { "version": "6.0.1", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^5.0.1" @@ -15014,6 +16719,7 @@ }, "supports-color": { "version": "7.2.0", + "bundled": true, "dev": true, "requires": { "has-flag": "^4.0.0" @@ -15021,6 +16727,7 @@ }, "tar": { "version": "6.1.11", + "bundled": true, "dev": true, "requires": { "chownr": "^2.0.0", @@ -15033,18 +16740,22 @@ }, "text-table": { "version": "0.2.0", + "bundled": true, "dev": true }, "tiny-relative-date": { "version": "1.3.0", + "bundled": true, "dev": true }, "treeverse": { "version": "2.0.0", + "bundled": true, "dev": true }, "unique-filename": { "version": "2.0.1", + "bundled": true, "dev": true, "requires": { "unique-slug": "^3.0.0" @@ -15052,6 +16763,7 @@ }, "unique-slug": { "version": "3.0.0", + "bundled": true, "dev": true, "requires": { "imurmurhash": "^0.1.4" @@ -15059,10 +16771,12 @@ }, "util-deprecate": { "version": "1.0.2", + "bundled": true, "dev": true }, "validate-npm-package-license": { "version": "3.0.4", + "bundled": true, "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -15071,6 +16785,7 @@ }, "validate-npm-package-name": { "version": "4.0.0", + "bundled": true, "dev": true, "requires": { "builtins": "^5.0.0" @@ -15078,10 +16793,12 @@ }, "walk-up-path": { "version": "1.0.0", + "bundled": true, "dev": true }, "wcwidth": { "version": "1.0.1", + "bundled": true, "dev": true, "requires": { "defaults": "^1.0.3" @@ -15089,6 +16806,7 @@ }, "which": { "version": "2.0.2", + "bundled": true, "dev": true, "requires": { "isexe": "^2.0.0" @@ -15096,6 +16814,7 @@ }, "wide-align": { "version": "1.1.5", + "bundled": true, "dev": true, "requires": { "string-width": "^1.0.2 || 2 || 3 || 4" @@ -15103,10 +16822,12 @@ }, "wrappy": { "version": "1.0.2", + "bundled": true, "dev": true }, "write-file-atomic": { "version": "4.0.2", + "bundled": true, "dev": true, "requires": { "imurmurhash": "^0.1.4", @@ -15115,6 +16836,7 @@ }, "yallist": { "version": "4.0.0", + "bundled": true, "dev": true } } @@ -15361,17 +17083,6 @@ "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", "is-wsl": "^2.2.0" - }, - "dependencies": { - "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" - } - } } }, "opener": { @@ -15426,6 +17137,57 @@ "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==", + "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" + } + } } }, "os-locale": { @@ -15577,12 +17339,11 @@ "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, + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "requires": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" } }, "p-locate": { @@ -15591,16 +17352,6 @@ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "requires": { "p-limit": "^3.0.2" - }, - "dependencies": { - "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-map": { @@ -15708,8 +17459,7 @@ "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 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" }, "path-is-absolute": { "version": "1.0.1", @@ -15900,6 +17650,15 @@ "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", @@ -15939,6 +17698,15 @@ "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==", + "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", @@ -15984,15 +17752,6 @@ "requires": { "ms": "^2.1.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" - } } } }, @@ -16297,17 +18056,29 @@ "semver": "^7.5.4" }, "dependencies": { - "cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "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.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "requires": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" + "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 } } }, @@ -17089,6 +18860,40 @@ "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", @@ -17115,12 +18920,27 @@ "which": "^1.3.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 + }, "loader-utils": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", "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" + } + }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -17233,6 +19053,12 @@ "yaml": "^1.10.0" } }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true + }, "fs-extra": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", @@ -17244,6 +19070,15 @@ "universalify": "^2.0.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" + } + }, "mini-css-extract-plugin": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.1.tgz", @@ -17265,7 +19100,15 @@ "semver": "^7.3.5" } }, - "webpack-dev-middleware": {}, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, "webpack-dev-server": { "version": "4.15.1", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", @@ -17302,21 +19145,6 @@ "spdy": "^4.0.2", "webpack-dev-middleware": "^5.3.1", "ws": "^8.13.0" - }, - "dependencies": { - "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==", - "dev": 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" - } - } } }, "ws": { @@ -17324,6 +19152,12 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", "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 } } }, @@ -17418,6 +19252,15 @@ "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", @@ -17475,6 +19318,27 @@ "dev": true, "requires": { "minimatch": "^3.0.5" + }, + "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" + } + }, + "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" + } + } } }, "redent": { @@ -17767,9 +19631,6 @@ "requires": { "expand-tilde": "^2.0.0", "global-modules": "^1.0.0" - }, - "dependencies": { - "global-prefix": {} } }, "resolve-from": { @@ -17806,6 +19667,12 @@ "source-map": "0.6.1" }, "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 + }, "picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", @@ -17864,6 +19731,41 @@ "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" + } + } } }, "rollup": { @@ -17887,6 +19789,12 @@ "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==", + "dev": true + }, "jest-worker": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", @@ -17906,6 +19814,15 @@ "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==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -18119,15 +20036,6 @@ "yaml": "^1.10.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": { - "lru-cache": "^6.0.0" - } - }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -18137,6 +20045,21 @@ "yallist": "^4.0.0" } }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "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 + }, "yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", @@ -18155,24 +20078,9 @@ } }, "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" - } - } - } + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" }, "semver-diff": { "version": "3.1.1", @@ -18181,14 +20089,6 @@ "dev": true, "requires": { "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 - } } }, "semver-regex": { @@ -18234,6 +20134,12 @@ "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 } } }, @@ -18445,41 +20351,6 @@ "pkg-conf": "^2.1.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 - }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", @@ -18488,21 +20359,6 @@ "requires": { "escape-string-regexp": "^1.0.5" } - }, - "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" - } } } }, @@ -18846,6 +20702,12 @@ "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 + }, "stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", @@ -19199,12 +21061,11 @@ } }, "supports-color": { - "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, + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^4.0.0" + "has-flag": "^3.0.0" } }, "supports-hyperlinks": { @@ -19215,6 +21076,23 @@ "requires": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "supports-preserve-symlinks-flag": { @@ -19250,15 +21128,6 @@ "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -19268,70 +21137,14 @@ "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==", - "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 - }, - "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 - }, "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" - } - }, - "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" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "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==", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } } } @@ -19377,6 +21190,15 @@ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", "dev": true + }, + "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" + } } } }, @@ -19405,22 +21227,6 @@ "unique-string": "^2.0.0" }, "dependencies": { - "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" - } - }, "type-fest": { "version": "0.16.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", @@ -19518,6 +21324,41 @@ "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", "minimatch": "^3.0.4" + }, + "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" + } + } } }, "text-extensions": { @@ -19630,13 +21471,11 @@ } }, "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, + "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": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "^7.0.0" } }, "toidentifier": { @@ -19672,13 +21511,9 @@ } }, "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "traverse": { "version": "0.6.8", @@ -19715,7 +21550,6 @@ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, - "optional": true, "requires": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -19982,13 +21816,6 @@ "chokidar": "^3.5.3", "webpack-sources": "^3.2.3", "webpack-virtual-modules": "^0.5.0" - }, - "dependencies": { - "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==" - } } }, "unquote": { @@ -20168,6 +21995,12 @@ "source-map": "^0.7.3" }, "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 + }, "source-map": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", @@ -20248,10 +22081,9 @@ } }, "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "webpack": { "version": "5.90.3", @@ -20335,12 +22167,6 @@ "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } - }, - "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 } } }, @@ -20399,6 +22225,19 @@ "webpack-merge": "^5.7.3" } }, + "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==", + "dev": 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" + } + }, "webpack-dev-server": { "version": "3.11.3", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", @@ -20464,15 +22303,6 @@ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", "dev": true }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", @@ -20509,6 +22339,45 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "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": "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" + } + } + } + }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -20557,21 +22426,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" - } - }, - "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 - }, "connect-history-api-fallback": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", @@ -20599,6 +22453,29 @@ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, + "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" + } + } + } + }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -20619,6 +22496,20 @@ "nan": "^2.12.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" + } + }, "glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", @@ -20661,12 +22552,6 @@ } } }, - "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 - }, "html-entities": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", @@ -20710,6 +22595,26 @@ "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "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" + } + } + } + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -20753,13 +22658,13 @@ "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", "dev": true }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "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": { - "minimist": "^1.2.6" + "brace-expansion": "^1.1.7" } }, "node-forge": { @@ -20768,6 +22673,15 @@ "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", "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": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", @@ -20901,12 +22815,6 @@ "node-forge": "^0.10.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 - }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -20962,6 +22870,16 @@ "has-flag": "^3.0.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" + } + }, "webpack-dev-middleware": { "version": "3.7.3", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", @@ -21099,14 +23017,9 @@ } }, "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" - } + "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-virtual-modules": { "version": "0.5.0", @@ -21152,14 +23065,12 @@ "dev": true }, "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dev": true, + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, "which": { @@ -21323,6 +23234,16 @@ "workbox-window": "6.6.0" }, "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" + } + }, "fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -21335,6 +23256,29 @@ "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==", + "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" + } + }, "source-map": { "version": "0.8.0-beta.0", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", @@ -21515,6 +23459,18 @@ "upath": "^1.2.0", "webpack-sources": "^1.4.3", "workbox-build": "6.6.0" + }, + "dependencies": { + "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" + } + } } }, "workbox-window": { @@ -21536,6 +23492,32 @@ "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } } }, "wrap-ansi-cjs": { @@ -21547,6 +23529,32 @@ "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } } }, "wrappy": { @@ -21555,6 +23563,18 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, "ws": { "version": "7.5.9", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", @@ -21586,10 +23606,9 @@ "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 + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "yaml": { "version": "1.10.2", From 3e02834f2dd04272fe9543c680af9a73f3dc0111 Mon Sep 17 00:00:00 2001 From: Pritish Budhiraja <1805317@kiit.ac.in> Date: Tue, 12 Mar 2024 11:22:12 +0530 Subject: [PATCH 13/17] chore: core changes --- src/CardUtils.res | 2 +- src/Components/DropdownField.res | 2 +- src/Components/DynamicFields.res | 4 ++-- src/Components/PaymentDropDownField.res | 2 +- src/Components/SavedMethods.res | 2 +- src/Icon.res | 4 ++-- src/PaymentElement.res | 2 +- src/PaymentOptions.res | 2 +- src/Payments/PaypalSDK.res | 2 +- src/Payments/VoucherDisplay.res | 2 +- src/Utilities/ErrorUtils.res | 4 ++-- src/Utilities/PaymentHelpers.res | 15 +++++++-------- src/Window.res | 2 +- src/orca-loader/Hyper.res | 4 ++-- src/orca-loader/OrcaUtils.res | 2 +- src/orca-loader/PaymentSessionMethods.res | 2 +- 16 files changed, 26 insertions(+), 27 deletions(-) diff --git a/src/CardUtils.res b/src/CardUtils.res index 526a5e1f..509d307c 100644 --- a/src/CardUtils.res +++ b/src/CardUtils.res @@ -375,7 +375,7 @@ let max = (a, b) => { let getMaxLength = val => { let obj = getobjFromCardPattern(val->getCardBrand) - let maxValue = Js.Array.reduce(max, 0, obj.length) + let maxValue = obj.length->Array.reduce(0, max) if maxValue <= 12 { maxValue + 2 } else if maxValue <= 16 { diff --git a/src/Components/DropdownField.res b/src/Components/DropdownField.res index 52aa2532..39ebd53a 100644 --- a/src/Components/DropdownField.res +++ b/src/Components/DropdownField.res @@ -77,7 +77,7 @@ let make = ( className={`Input ${className} w-full appearance-none outline-none ${cursorClass}`}> {options ->Array.mapWithIndex((item: string, i) => { - + }) ->React.array} diff --git a/src/Components/DynamicFields.res b/src/Components/DynamicFields.res index 822bc186..3a390970 100644 --- a/src/Components/DynamicFields.res +++ b/src/Components/DynamicFields.res @@ -285,7 +285,7 @@ let make = ( {dynamicFieldsToRenderOutsideBilling ->Array.mapWithIndex((item, index) => {
Js.Int.toString}`} + key={`outside-billing-${index->Int.toString}`} className="flex flex-col w-full place-content-between" style={ReactDOMStyle.make( ~marginTop=index !== 0 || paymentMethod === "card" @@ -443,7 +443,7 @@ let make = ( {dynamicFieldsToRenderInsideBilling ->Array.mapWithIndex((item, index) => {
Js.Int.toString}`} + key={`inside-billing-${index->Int.toString}`} className="flex flex-col w-full place-content-between"> {switch item { | BillingName => diff --git a/src/Components/PaymentDropDownField.res b/src/Components/PaymentDropDownField.res index 4b1a8d6b..ab561d4d 100644 --- a/src/Components/PaymentDropDownField.res +++ b/src/Components/PaymentDropDownField.res @@ -107,7 +107,7 @@ let make = ( className={`Input ${inputClass} ${className} w-full appearance-none outline-none ${cursorClass}`}> {options ->Array.mapWithIndex((item: string, i) => { - + }) ->React.array} diff --git a/src/Components/SavedMethods.res b/src/Components/SavedMethods.res index 718dbeca..550c9483 100644 --- a/src/Components/SavedMethods.res +++ b/src/Components/SavedMethods.res @@ -80,7 +80,7 @@ let make = ( ->Array.filter(savedMethod => { savedMethod.paymentToken === token }) - ->Belt.Array.get(0) + ->Array.get(0) ->Option.getOr(PaymentType.defaultCustomerMethods) let isCardPaymentMethod = customerMethod.paymentMethod === "card" let savedPaymentMethodBody = switch customerMethod.paymentMethod { diff --git a/src/Icon.res b/src/Icon.res index 430dca04..ccaa7ffa 100644 --- a/src/Icon.res +++ b/src/Icon.res @@ -18,8 +18,8 @@ let make = ( ?onClick style className={`fill-current ${otherClasses}`} - width={string_of_int(width) ++ "px"} - height={string_of_int(size) ++ "px"} + width={Int.toString(width) ++ "px"} + height={Int.toString(size) ++ "px"} transform={shouldMirrorIcon ? "scale(-1,1)" : ""}> diff --git a/src/PaymentElement.res b/src/PaymentElement.res index 74e1f2e7..f6a9fef6 100644 --- a/src/PaymentElement.res +++ b/src/PaymentElement.res @@ -86,7 +86,7 @@ let make = ( let tokenObj = switch (isSavedMethodsEmpty, defaultPaymentMethod) { | (false, Some(defaultPaymentMethod)) => Some(defaultPaymentMethod) - | (false, None) => Some(savedMethods->Belt.Array.get(0)->Option.getOr(defaultCustomerMethods)) + | (false, None) => Some(savedMethods->Array.get(0)->Option.getOr(defaultCustomerMethods)) | _ => None } diff --git a/src/PaymentOptions.res b/src/PaymentOptions.res index 79cb61be..6d2f6ebb 100644 --- a/src/PaymentOptions.res +++ b/src/PaymentOptions.res @@ -177,7 +177,7 @@ let make = ( {dropDownOptionsDetails ->Array.mapWithIndex((item, i) => {